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

Javascript:如何直接从对象生成易于读取的格式化JSON?,javascript,json,formatting,pretty-print,Javascript,Json,Formatting,Pretty Print,可能重复: 我知道如何使用JSON.stringify从一个对象生成JSON,或者在我的例子中,使用google代码()中方便的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

可能重复:

我知道如何使用JSON.stringify从一个对象生成JSON,或者在我的例子中,使用google代码()中方便的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或其他什么

JSON.stringify
需要更多的时间

尝试:

发件人:


应该可以在现代浏览器中使用,如果您需要为不支持JSON帮助器功能的浏览器提供备用功能,那么它将包含在中。出于显示目的,将输出放在一个
标记中,以获得要显示的换行符。

也许这会有所帮助:鉴于OP在一行上写下了他的美化版本,这个答案不是有点不准确吗?是否可以将缩进和非缩进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