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

< p > 可能的重复: < br > 如何以编程方式美化JSON ? < / p >

我知道如何使用JSON从对象生成JSON。stringify,或者在我的情况下,方便的jquery-json从谷歌代码(https://github.com/krinkle/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]
}
}

例如,添加换行符和制表符。更大的文档更容易阅读。

我希望在理想的情况下做到这一点,而不需要添加任何庞大的库——例如,不需要prototype或YUI或其他什么。

352981 次浏览

JSON.stringify需要更多的可选参数

试一试:

 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

来自:

如何以编程方式美化JSON ?< / >

应该在现代浏览器中工作,如果您需要为不支持JSON helper函数的浏览器提供一个回退,则它包含在json2.js中。出于显示目的,将输出放在<pre>标记中以获得要显示的换行符。