[英]Read Google Sheet Exported JSON by column name in Apps Script
[英]Indent pretty JSON in Google Sheet Apps Script
我想显示一个带有漂亮 JSON 的警报,但它没有很好地缩进。
这是我正在使用的 JS 代码:
var jsonText = JSON.stringify(jsonObject, null, 2)
SpreadsheetApp.getUi().alert(jsonText);
这是我得到的缩进:
...
"xxx": "",
"xxx": ""
},
{
"xxx": "yyy",
"xxx": "yyy",
"xxx": "",
"xxx": ""
}
]
它缺少制表符缩进,知道如何解决这个问题吗?
似乎正常的空格\\u{0020}
字符已从 SpreadsheetApp Ui.alert()
函数中删除。 您可以使用此答案中提到的任何其他空格字符作为空格字符。 \\u{2000}
作品:
SpreadsheetApp.getUi().alert(
JSON.stringify(
{ x: 1, y: 2, z: [1, 2, { a: { b: 1 } }] },
null,
'\u{2000}'.repeat(2)
)
);
我知道在警报窗口中漂亮打印 JSON 的唯一方法是强制JSON.stringify()
对space
参数使用硬编码的不间断空格字符。
例子:
function popup() {
var jsonObject = [{"x":1,"y":2},{"x":1,"y":2}];
// warning - the two spaces used below need to be non-breaking spaces:
var jsonText = JSON.stringify(jsonObject, null, " ");
SpreadsheetApp.getUi().alert(jsonText);
}
这会在警报窗口中生成以下结果:
注意- 您可能无法从我的答案中复制/粘贴那些不间断空格 - 我认为您最终只会复制常规空格,这不会为您提供所需的缩进(它们将根据关于连续空格的标准 HTML 规则折叠) .
因此,您可以使用键盘手动输入 NBSP 字符。
对于我在 Windows 上,这是通过我按住ALT
键并输入数字序列0160
。
在 Mac 上它是opt
+ space
。
有关更多系统,请参阅nbsp 键盘输入方法。
就我个人而言,我觉得这有点令人不快——你不能轻易说这些是硬编码的 NBSP——它们看起来像源代码中的常规空格。 这就是我在代码中添加注释的原因。 如果有更清洁的解决方案,那将得到我的投票。
(并且使用
序列对我不起作用 - 它被视为文字字符串)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.