从JSON对象数组中访问对象会产生" Undefined"

时间:2017-01-08 03:11:44

标签: javascript arrays json object

我使用的Blockspring API返回JSON对象数组(从Google表格中读取)。但是,每当我尝试从数组中访问一个对象时,一个" undefined"返回值。我已经在下面附加了代码和控制台日志。有没有人有任何想法?

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

2 个答案:

答案 0 :(得分:0)

您需要使用obj.data[0]来访问数组的第一个元素。

在控制台中查看您的输出,您似乎错过了data的{​​{1}}属性。

对象obj没有名称为obj的属性,因此返回0

答案 1 :(得分: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];

抓取它