Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 访问嵌套Json_Javascript_Arrays_Object - Fatal编程技术网

Javascript 访问嵌套Json

Javascript 访问嵌套Json,javascript,arrays,object,Javascript,Arrays,Object,我从Google脚本编辑器中的API调用中得到了这个结果 "data": [ { "name": "page_engaged_users", "period": "day", "values": [ { "value": 13521,

我从Google脚本编辑器中的API调用中得到了这个结果

   "data": [
      {
         "name": "page_engaged_users",
         "period": "day",
         "values": [
            {
               "value": 13521,
               "end_time": "2021-02-22T08:00:00+0000"
            }
         ],
         "title": "Daily Page Engaged Users",
         "description": "Daily: The number of people who engaged with your Page. Engagement includes any click or story created. (Unique Users)",
         "id": "231123/insights/page_engaged_users/day"
      },
      {
         "name": "page_post_engagements",
         "period": "day",
         "values": [
            {
               "value": 18963,
               "end_time": "2021-02-22T08:00:00+0000"
            }
         ],
         "title": "Daily Post Engagements",
         "description": "Daily: The number of times people have engaged with your posts through like, comments and shares and more.",
         "id": "231123/insights/page_post_engagements/day"
      },
      {
         "name": "page_impressions_unique",
         "period": "day",
         "values": [
            {
               "value": 347696,
               "end_time": "2021-02-22T08:00:00+0000"
            }  
我有一个脚本,可以很好地处理不同的调用,所以我使用相同的脚本。 脚本如下所示

    var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = spreadsheet.getSheetByName('Sheet1');
  var response = UrlFetchApp.fetch( "Api call");
  var dataAll = JSON.parse(response.getContentText());
  var dataSet = dataAll.data;
  var rows = [],
    data;
  for (i = 0; i < dataSet.length; i++) {
    data = dataSet[i];
  
    rows.push([data.values[0].value]); //your JSON entities here
  }
  Logger.log(rows)
  sheet.getRange(sheet.getLastRow() + 1, 1, rows.length,1).setValues(rows);


}
var spreadsheet=SpreadsheetApp.getActiveSpreadsheet();
var sheet=spreadsheet.getSheetByName('Sheet1');
var response=UrlFetchApp.fetch(“Api调用”);
var dataAll=JSON.parse(response.getContentText());
var数据集=dataAll.data;
变量行=[],
数据;
对于(i=0;i

因此,当我推送data.values[0].value时,我会得到所有的值,但我只想要第一个。我做错了什么?

您的回答
数据
是错误的。您拥有的for循环正在该循环上迭代

for (i = 0; i < dataSet.length; i++) {
    data = dataSet[i];
  
    rows.push([data.values[0].value]); //your JSON entities here
}
for(i=0;i
如果希望只推送第一个对象的值。您不需要循环,因为您只需要获取数据的第一个索引中的内容。只需使用
dataSet[0]
直接访问第一个位置,例如
dataSet[0]。值[0]。值

(您已经在使用相同的方法访问数组
值的第一个元素

下面是一个示例,说明如何获取此处显示的数据数组值中的第一个对象-