462

可能重复:
如何以编程方式美化 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 或其他任何东西。

4

1 回答 1

1030

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 辅助函数的浏览器的后备,它包含在json2.js中。出于显示目的,将输出放在<pre>标签中以显示换行符。

于 2010-08-18T19:11:31.167 回答