当前位置: 首页 > 面试题库 >

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

胡昊
2023-03-14
问题内容

我知道如何使用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或其他任何东西。


问题答案:

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
helper功能的浏览器需要回退,则它应包含在json2.js中。出于显示目的,将输出放在<pre>标签中以显示换行符。



 类似资料:
  • 最近需要用到jwt,领导让自己生成,不需要服务端生成。 但是使用jsonwebtoken等都是只能在node中使用,在vue2中使用报错。 有没有直接在前端代码中使用的库推荐?

  • 问题内容: 在JavaScript中,从浮点数转换为字符串时,小数点后仅能获得2位数字吗?例如,用0.34代替0.3445434。 问题答案: var result = Math.round(original*100)/100; 具体细节,以防代码不言自明。 编辑:…或按照TimBüthe的建议使用。忘了那个,谢谢(和赞扬):)

  • 我只是想知道类(Oracle提供的rt.jar内部)如java.lang.Object、java.lang.String是如何从.java源文件生成的。我认为,他们的javac不可能编译它们。 我尝试编译包含“类Dummy{}”的Dummy.java [解析已启动RegularFileObject[dummy.java]] [解析完成12毫秒] [源文件的搜索路径:.]

  • 编辑:现在看起来更干净了,反映了我目前的状况和我正在努力实现的目标,并展示了我正在处理的新问题(下面有一个评论解释了我得到了什么)。 抱歉,如果帖子有点长,但我希望每个人都能看到整个画面。

  • 问题内容: 在JavaScript中,如何格式化日期对象以打印为? 问题答案: 对于自定义分隔的日期格式,你必须从DateTimeFormat对象(属于ECMAScript Internationalization API的一部分)中提取日期(或时间)组件,然后手动使用所需的分隔符创建字符串。 为此,你可以使用DateTimeFormat#formatToParts: 你还可以使用来一对一地提取各