Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.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
Google apps script Google应用程序脚本-Json响应解析_Google Apps Script_Google Sheets_Jsonparser - Fatal编程技术网

Google apps script Google应用程序脚本-Json响应解析

Google apps script Google应用程序脚本-Json响应解析,google-apps-script,google-sheets,jsonparser,Google Apps Script,Google Sheets,Jsonparser,我正在使用google应用程序脚本解析这个json响应 问题 在图纸上,我只得到第一个指标的值,而不是第二个指标的值 但我还需要第二个度量的值。 这就是我正在努力实现的目标 有什么帮助吗 谢谢这个示例脚本怎么样?请把这看作是几个可能的答案之一 示例脚本: json来自您的问题 结果: 注: 在这种情况下,脚本可以使用和不使用V8 在此示例脚本中,将使用您的示例值。因此它假设“metric”、“metricOption”、“startTime”、“value”的所有键都存在。所以请小心

我正在使用google应用程序脚本解析这个json响应

问题

在图纸上,我只得到第一个指标的值,而不是第二个指标的值

但我还需要第二个度量的值。

这就是我正在努力实现的目标

有什么帮助吗


谢谢

这个示例脚本怎么样?请把这看作是几个可能的答案之一

示例脚本:
  • json
    来自您的问题
结果: 注:
  • 在这种情况下,脚本可以使用和不使用V8
  • 在此示例脚本中,将使用您的示例值。因此它假设
    “metric”、“metricOption”、“startTime”、“value”
    的所有键都存在。所以请小心这个
参考资料:

如果我误解了你的问题,而这不是你想要的方向,我很抱歉。

这个示例脚本怎么样?请把这看作是几个可能的答案之一

示例脚本:
  • json
    来自您的问题
结果: 注:
  • 在这种情况下,脚本可以使用和不使用V8
  • 在此示例脚本中,将使用您的示例值。因此它假设
    “metric”、“metricOption”、“startTime”、“value”
    的所有键都存在。所以请小心这个
参考资料:

如果我误解了您的问题,并且这不是您想要的方向,我很抱歉。

请您共享一份电子表格。请编辑您的问题,将json作为文本,而不是图像。@Tedinoz我将json作为文本添加。不幸的是,我无法共享电子表格,因为有敏感信息。谢谢教授,我应该说。。。“排除任何敏感或机密信息”。但是你真的需要共享一个电子表格。顺便说一句,您只共享了一段代码,但没有显示解析json的位置/时间/方式。json lint工具报告json无效。您正在导入的实际json是什么?@Tedinoz应该包含这个问题。外部链接是补充的,但不是必需的。事实上,任何需要外部电子表格的问题都不是一个好问题。你不必同意我的意见。您可能对前一段时间感兴趣。请共享您的电子表格副本。请编辑您的问题,将json作为文本,而不是图像。@Tedinoz我将json作为文本添加。不幸的是,我无法共享电子表格,因为有敏感信息。谢谢教授,我应该说。。。“排除任何敏感或机密信息”。但是你真的需要共享一个电子表格。顺便说一句,您只共享了一段代码,但没有显示解析json的位置/时间/方式。json lint工具报告json无效。您正在导入的实际json是什么?@Tedinoz应该包含这个问题。外部链接是补充的,但不是必需的。事实上,任何需要外部电子表格的问题都不是一个好问题。你不必同意我的意见。不久前你可能会感兴趣。
var json = {locationMetrics:[{metricValues:[{metric:"ACTIONS_DRIVING_DIRECTIONS", dimensionalValues:[{timeDimension:{timeRange:{startTime:"2020-02-01T00:00:00Z"}}, value:3, metricOption:"AGGREGATED_DAILY"}, {value:0, metricOption:"AGGREGATED_DAILY", timeDimension:{timeRange:{startTime:"2020-02-02T00:00:00Z"}}}]}, {metric:"ACTIONS_PHONE", dimensionalValues:[{metricOption:"AGGREGATED_DAILY", timeDimension:{timeRange:{startTime:"2020-02-01T00:00:00Z"}}, value:0}, {timeDimension:{timeRange:{startTime:"2020-02-02T00:00:00Z"}}, value:0, metricOption:"AGGREGATED_DAILY"}]}], timeZone:"Europe/London", locationName:"accounts/xxx/locations/xxx"}]};

// Create an array from "json".
var locationMetrics = json.locationMetrics;
var rows = locationMetrics.reduce(function(ar1, obj1) {
  return ar1.concat(obj1.metricValues.reduce(function(ar2, obj2) {
    return ar2.concat(obj2.dimensionalValues.map(function(obj3) {return [obj2.metric, obj3.metricOption, obj3.timeDimension.timeRange.startTime, obj3.value]}));
  }, []));
}, []);

// Put values to Spreadsheet.
var sheet = SpreadsheetApp.getActive().getSheetByName('sheet1')
dataRange = sheet.getRange(2, 1, rows.length, 4); 
dataRange.setValues(rows);
[
    ["ACTIONS_DRIVING_DIRECTIONS","AGGREGATED_DAILY","2020-02-01T00:00:00Z",3],
    ["ACTIONS_DRIVING_DIRECTIONS","AGGREGATED_DAILY","2020-02-02T00:00:00Z",0],
    ["ACTIONS_PHONE","AGGREGATED_DAILY","2020-02-01T00:00:00Z",0],
    ["ACTIONS_PHONE","AGGREGATED_DAILY","2020-02-02T00:00:00Z",0]
]