代码之家  ›  专栏  ›  技术社区  ›  Ben Clayton

javascript:如何直接从一个对象生成格式化的易于阅读的JSON?[复制品]

  •  298
  • Ben Clayton  · 技术社区  · 14 年前

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

    我知道如何使用json.stringify从对象生成json,或者在我的例子中,从Google代码生成方便的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]
     }
    }
    

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

    我希望在不添加任何大型库的情况下实现这一理想化——例如,不添加原型库、yui库或其他库。

    1 回复  |  直到 6 年前
        1
  •  689
  •   swrobel chl    6 年前

    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?

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