我知道在警报窗口中漂亮打印 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——它们看起来就像源代码中的常规空格。这就是我在代码中添加注释的原因。如果有更清洁的解决方案,那将得到我的投票。
(并且使用该 序列对我不起作用 - 它被视为文字字符串)。