You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Sheet Apps Script alert输出美化JSON丢失缩进问题求助

问题原因

Apps Script 内置的SpreadsheetApp.getUi().alert()弹窗会自动合并、忽略字符串中的连续半角空格,因此即便JSON.stringify已经生成了带空格缩进的格式化字符串,最终显示时也会丢失缩进效果。

修复方案

你可以根据需求选择以下两种方案:

  • 方案1:替换缩进符为制表符,适配原生alert
    直接将JSON.stringify的缩进参数从空格数改为制表符\t,原生alert对制表符的识别度更高,不会随意合并:

    var jsonText = JSON.stringify(jsonObject, null, '\t')
    SpreadsheetApp.getUi().alert(jsonText);
    
  • 方案2:使用自定义模态弹窗,完全保留格式
    如果需要更稳定、更美观的展示效果,放弃原生alert,改用HtmlService生成带<pre>标签的自定义弹窗,<pre>标签会100%保留文本的换行、空格缩进,还支持自定义样式调整显示效果:

    var jsonText = JSON.stringify(jsonObject, null, 2);
    // 构造带格式化样式的HTML内容
    var htmlOutput = HtmlService.createHtmlOutput(`
      <pre style="padding: 12px; font-size: 14px; line-height: 1.5;">${jsonText}</pre>
    `).setWidth(650).setHeight(400);
    // 弹出模态框,第二个参数为弹窗标题可自定义
    SpreadsheetApp.getUi().showModalDialog(htmlOutput, '格式化JSON结果');
    

内容的提问来源于stack exchange,提问作者Xys

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 00:45:01