如何以编程方式美化JSON?

Ran*_*yer 326 javascript json code-formatting pretty-print

你知道JavaScript的"JSON Beautifier"吗?

{"name":"Steve","surname":"Jobs","company":"Apple"}
Run Code Online (Sandbox Code Playgroud)

{
  "name" : "Steve",
  "surname" : "Jobs",
  "company" : "Apple"
}
Run Code Online (Sandbox Code Playgroud)

some_magic(jsonObj); // return beautified JSON
Run Code Online (Sandbox Code Playgroud)

And*_*y E 673

编程格式化解决方案:

JSON.stringify许多现代浏览器(包括IE8)支持的方法可以输出美化的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
Run Code Online (Sandbox Code Playgroud)
Demo: http://jsfiddle.net/AndyE/HZPVL/

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

手动格式化方案

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

  • 太好了,谢谢!(值得一提的是,还需要在css中使用`white-space:pre`) (13认同)
  • 在html页面上,将输出包装在<pre> </ pre>标签中 (7认同)