【发布时间】:2016-12-20 09:32:04
【问题描述】:
我正在尝试使用Apps Script 将工作表中的值转换为多级JSON。
将值转换为单个级别 JSON 很容易,如下所示:
[{
"name": "Bob Jones",
"phone": "555-555-5555",
"street": "123 Somewhere St.",
"city": "Nowhere",
"state": "ID",
"postal": 45632,
"country": "USA"
}]
但是,我想要的是这样的:
[{
"name": "Bob Jones",
"phone": "555-555-5555",
"address": {
"street": "123 Somewhere St.",
"city": "Nowhere",
"state": "ID",
"postal": 45632,
"country": "USA"
}
}]
这是用于格式化JSON的代码:
function makeJSON_(object, options) {
if (options.format == FORMAT_PRETTY) {
var jsonString = JSON.stringify(object, null, 4);
} else if (options.format == FORMAT_MULTILINE) {
var jsonString = Utilities.jsonStringify(object);
jsonString = jsonString.replace(/},/gi, '},\n');
jsonString = prettyJSON.replace(/":\[{"/gi, '":\n[{"');
jsonString = prettyJSON.replace(/}\],/gi, '}],\n');
} else {
var jsonString = Utilities.jsonStringify(object);
}
return jsonString;
}
设置一个“转换前”表来创建JSON 子字符串很容易,但这并不灵活,而且很难维护。
如何JSON.stringify()工作表数据自动创建子串?
【问题讨论】:
标签: javascript json google-apps-script stringify