Javascript:如何直接从对象生成格式化的易于阅读的JSON?

时间:2010-08-18 18:43:52

标签: javascript json formatting pretty-print

  

可能重复:
  How can I beautify JSON programmatically?

我知道如何使用JSON.stringify从对象生成JSON,或者在我的情况下从google代码(https://github.com/krinkle/jquery-json)生成方便的jquery-json。

现在这种方法很好,但输出很难为人类阅读。是否有简单的方法/功能/输出整齐格式的json文件?

这就是我的意思:

JSON.stringify({a:1,b:2,c:{d:1,e:[1,2]}}); 

给出..

"{"a":1,"b":2,"c":{"d":1,"e":[1,2]}}"

我喜欢这样的事情:

{
 "a":1,
 "b":2,
 "c":{
    "d":1,
    "e":[1,2]
 }
}

E.g。添加了换行符和标签。阅读更大的文档要容易得多。

我想在没有添加任何大型库的情况下理想地执行此操作 - 例如不是原型或YUI或其他什么。

1 个答案:

答案 0 :(得分:707)

JSON.stringify需要更多optional arguments

尝试:

 JSON.stringify({a:1,b:2,c:{d:1,e:[1,2]}}, null, 4); // Indented 4 spaces
 JSON.stringify({a:1,b:2,c:{d:1,e:[1,2]}}, null, "\t"); // Indented with tab

自:

How can I beautify JSON programmatically?

应该可以在现代浏览器中使用,如果您需要对不支持JSON帮助程序功能的浏览器进行回退,它将包含在json2.js中。出于显示目的,将输出放在<pre>标记中以获取要显示的换行符。