【问题标题】:How can I beautify JSON programmatically? [duplicate]如何以编程方式美化 JSON? [复制]
【发布时间】:2011-02-06 13:50:04
【问题描述】:

你知道 JavaScript 的“JSON 美化器”吗?

来自

{"name":"Steve","surname":"Jobs","company":"Apple"}

收件人

{
  "name" : "Steve",
  "surname" : "Jobs",
  "company" : "Apple"
}

示例

some_magic(jsonObj); // return beautified JSON

【问题讨论】:

  • 为什么需要以编程方式美化它?是否显示在网页上?
  • 我很高兴看到答案中引用了这么多“解决方案”,所有这些都解决了一个问题,根据 Andy E 的回答,标准 API 已经解决了这个问题。给我们所有人的一课:在寻求或实施需求解决方案之前阅读现有 API 的文档 ;-)

标签: javascript json code-formatting pretty-print


【解决方案1】:

程序化格式化解决方案:

很多现代浏览器(包括IE8)都支持的JSON.stringify方法可以输出美化的JSON字符串:

JSON.stringify(jsObj, null, "\t"); // stringify with tabs inserted at each level
JSON.stringify(jsObj, null, 4);    // stringify with 4 spaces at each level
演示:http://jsfiddle.net/AndyE/HZPVL/

json2.js 也包含此方法,用于支持旧版浏览器。

手动格式化解决方案

如果您不需要以编程方式执行此操作,请尝试JSON Lint。它不仅会美化您的 JSON,还会同时验证它。

【讨论】:

  • 太棒了...谢谢! (可能还需要在 css 中添加 white-space:pre
  • 在 html 页面上,将输出包装在
     标签中
  • 我使用 JSON.stringify 和 toastr 来输出调试。 Live Example
  • 知道 null, 2,但不知道 '\t' 也会起作用。太棒了!
  • 我觉得 jsonlint.com 有点麻烦。更快的工作流程是kadebom.com/jsonlint.htmlIMO
猜你喜欢
  • 2011-10-04
  • 1970-01-01
  • 2021-04-12
  • 2011-09-25
  • 2011-07-17
  • 2011-08-12
  • 1970-01-01
  • 2017-08-19
  • 1970-01-01
相关资源
最近更新 更多