Я пытаюсь использовать Apps Script
для преобразования значений в листе на многоуровневый JSON
.Конвертировать листы Google в виде многоуровневого массива 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;
}
было бы достаточно легко настроить «предварительно CONVER sion ", чтобы создать подстроку JSON
, но это не является гибким и будет поддерживать зверя.
Как сделать JSON.stringify()
данные листа для автоматического создания подстрок?
Я как раз собирался предложить эту последнюю замену. Оно работает! – davids
Я изменил код, чтобы не использовать jquery и не понял, что я испортил! рад, что он работает сейчас. – charsi