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

2022-08-29 23:08:30

可能的重复:
如何以编程方式美化 JSON?

我知道如何使用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]
 }
}

例如,添加了换行符和选项卡。对于较大的文档,阅读起来要容易得多。

我想在不添加任何大型库的情况下理想地做到这一点 - 例如,不是原型或YUI或其他任何东西。


答案 1

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?

应该在现代浏览器中工作,并且它包含在 json2 中.js如果您需要为不支持 JSON 帮助程序函数的浏览器进行回退。出于显示目的,请将输出放在标记中以使换行符显示。<pre>


答案 2