Javascript 美化JSON意味着什么
我听说过一些美化JSON的网站。这到底意味着什么?你可以看到一个美化粘贴JSON的网站Javascript 美化JSON意味着什么,javascript,json,prettify,Javascript,Json,Prettify,我听说过一些美化JSON的网站。这到底意味着什么?你可以看到一个美化粘贴JSON的网站 它只是让代码更具可读性,主要是为了我想象中的调试目的。它让代码更漂亮,也就是说,它缩进代码,确保内容以类似的方式对齐,所有括号都以类似的方式放置,等等 示例 var obj={苹果:{红色:5,绿色:1},香蕉:9}//JS对象 var str=JSON.stringify(obj,null,4);//间距级别4,或代替4,您可以为制表器写入“\t” //stringify函数的第三个参数启用漂亮打印并设置
它只是让代码更具可读性,主要是为了我想象中的调试目的。它让代码更漂亮,也就是说,它缩进代码,确保内容以类似的方式对齐,所有括号都以类似的方式放置,等等 示例
var obj={苹果:{红色:5,绿色:1},香蕉:9}//JS对象
var str=JSON.stringify(obj,null,4);//间距级别4,或代替4,您可以为制表器写入“\t”
//stringify函数的第三个参数启用漂亮打印并设置要使用的间距。
console.log(str)//现在,您可以在控制台中看到打印得很好的JSON字符串
,这意味着它的版本更具可读性。例如,以下是有效的json,但可读性不好:
{"outcome" : "success", "result" : {"name" : "messaging-sockets", "default-interface" : "external", "include" : [], "socket-binding" : {"messaging" : {"name" : "messaging", "interface" : null, "port" : 5445, "fixed-port" : null, "multicast-address" : null, "multicast-port" : null}, "messaging-throughput" : {"name" : "messaging-throughput", "interface" : null, "port" : 5455, "fixed-port" : null, "multicast-address" : null, "multicast-port" : null}}}, "compensating-operation" : null}
在对其进行预处理后,可以如下所示:
{
"outcome":"success",
"result":{
"name":"messaging-sockets",
"default-interface":"external",
"include":[
],
"socket-binding":{
"messaging":{
"name":"messaging",
"interface":null,
"port":5445,
"fixed-port":null,
"multicast-address":null,
"multicast-port":null
},
"messaging-throughput":{
"name":"messaging-throughput",
"interface":null,
"port":5455,
"fixed-port":null,
"multicast-address":null,
"multicast-port":null
}
}
},
"compensating-operation":null
}
正如@Heiko Rupp所提到的,它使阅读更容易。大多数JSON文件已经被美化了。如果您想美化自己的JSON格式变量,可以这样做:
import json
variable = {'a': 1, 'b': 2, 'c': 3}
print(variable)
# returns:
{'a': 1, 'b': 2, 'c': 3}
# prettify
print(json.dumps(variable, indent=4, sort_keys=True))
# returns:
{
"a": 1,
"b": 2,
"c": 3
}
缩进?正确使用引号?感谢您的回复,请提供一个丑陋和普里蒂JSON的小例子:)