【发布时间】:2020-07-07 00:59:03
【问题描述】:
我正在尝试将 JSON 解析为 Google 表格。一切都像一个魅力,除了我发现 JSON 有我需要作为列返回的子项。
Json 示例
{
"status": "OK",
"items": [
{
"order_id": 1290,
"date": "2019-12-24",
"services": [
{
"start_at": "08:00",
"end_at": "09:00",
"service_id": 121,
"assistant_id": 0
},
{
"start_at": "12:00",
"end_at": "13:00",
"service_id": 122,
"assistant_id": 0
}
],
}
]
}
而我需要进入 Google 表格的是
order_id|date |services.start_at|services.end_at|services.service_id|services.assistant_id|
1290 |2019-12-24 |08:00 |09:00 |121 |0 |
1290 |2019-12-24 |12:00 |13:00 |122 |0 |
我已经尝试过了,但如果多个服务在同一个 order_id 下,我不知道如何获取子项并重复 id 和 date 的值。
var response = UrlFetchApp.fetch(url, options);
var object = JSON.parse(response.getContentText());
var headers = Object.keys(object.items[0]);
var values = object.items.map(function(e) {return headers.map(function(f) {return e[f]})});
values.unshift(headers);
var sheet = SpreadsheetApp.getActiveSheet();
sheet.getRange(2, 1, values.length, values[0].length).setValues(values);
我希望这里的任何人都可以给我一个线索,因为我已经尝试了几天没有运气,我是 JSON 和在 Apps 脚本中解析东西的菜鸟。
祝你有美好的一天:)
【问题讨论】:
-
我认为您的“Json Example”示例值可能存在错误。能否再次确认
services的属性? -
为了简单起见,我只是编辑了json,结果出错了。
-
感谢您的回复和更新。我注意到已经发布了答案。在这种情况下,我想尊重现有的答案。我认为它会解决您的问题。
标签: javascript json google-apps-script google-sheets