2017-01-08 3 views
0

JSON配列のオブジェクトを返すBlockspring APIを使用しています(Googleシートから読み込む)。しかし、配列からオブジェクトにアクセスしようとするたびに、「未定義」値が返されます。以下のコードとコンソールログを添付しました。誰にも理由がありますか?オブジェクトのJSON配列からオブジェクトにアクセスすると「未定義」が返されます

blockspring.runParsed("query-public-google-spreadsheet", { "query": "SELECT A, B, C", "url": 
    "https://docs.google.com/spreadsheets/d/1ZYvcYf_41aghdXRSpg25TKW4Qj9p1Lpz92b1xG-9R1Q/edit?usp=sharing"}, 
    { "api_key": "br_50064_1fe91fe1478ef990dc8b5e9b4041c2c476670306" }, function(res){ 
     var obj=res.params; 
     console.log(obj); 
     var temp=obj[0]; 
     console.log(temp); 
    } 

Console Output

+0

参照を使用してそれをつかむことができます*「私はプロパティにアクセスしようとしているが、私は唯一の 'バックundefined'ますか? "*重複の受け入れられた答えで*。 –

答えて

0

あなたは、配列の最初の要素にアクセスするためにobj.data[0]を使用する必要があります。

コンソールで出力を見ると、dataプロパティがobjでないことが考えられます。

オブジェクトobjは、0のプロパティを持たないため、undefinedを返します。

0

私はそれ自身で遊ぶ必要がありますが、問題にはどのように情報にアクセスしているのか分かります。

var temp=obj[0]でデータを取得しようとすると、配列のようにオブジェクトが扱われています。私はこれを使用してデータをつかむしようとして推薦する:

//get the actual array 
JSONArray theArray = obj.getJSONArray("data"); //I believe it is stored in an array called data... could be that the obj is just fine 
// now get the first element: 
JSONObject firstItem = theArray.getJSONObject(0); 
// and so on 
String name = firstItem.getString("Name"); // A 

あなたが最も可能性が高いVAR temp = obj.data[0];

+0

この質問は、Javaではなく、JavaScriptに関するものです(あなたの評価はまだ正しいですが)。 –

関連する問題