什么是JSON?
JSON是JavaScript Object Notation的缩写,它表示用于在实体之间存储和共享数据的标准化语法,派生自JavaScript编程语言(不要与Java编程语言混淆)。
JSON之所以受欢迎,是因为它易于人类阅读和编辑,并且易于被机器使用。另一个优点是JSON它不受JavaScript语言的约束,它可以被广泛的编程语言使用,最着名的是Java,PHP,Python和Ruby。
JSON实体既可以作为独立文件存在,通常具有.json扩展名,也可以作为JSON字符串包含在引号内的另一个文件中。它也可以分配给变量。
与XML相比,JSON提供了更好的可读性,减少了格式化的麻烦,占用空间更小,从而减少了传输的字节数。
结构体
结构非常简单:
“名字”:价值
名称必须始终为字符串。示例:“年龄”,“出生日期”,“出生日期”,“第二地址”。
值可以是不同的类型,布尔值,数字,字符串,数组,对象或null。例:
{
“用户”:“艾玛”,
“连接”:“安全”,
“proxy_options”:[“SOCKS5”,“SSL”,“HTTP”,“FTP”],
“vpn”:false,
“userID”:215
}
说明:
{
“user”:“Emma”,< – 这是一个字符串
“连接”:“安全”,< – 这也是一个字符串
“proxy_options”:[“SOCKS5”,“SSL”,“HTTP”,“FTP”],< – 这是一个字符串列表
“vpn”:false,< – 这是一个布尔值
“userID”:215 < – 这是一个数字
}
为了使用JSON,您必须了解一些基本规则,其他一切都会很自然。
– JSON对象必须用大括号括起来,即使它是嵌套的(我稍后会解释嵌套意味着什么){}
– 名称必须在引号之间 “”
– 名称和值必须用冒号分隔:
– 值:
– 字符串必须在引号之间 “”
– 布尔和数字没有标点符号
– 列表必须在方括号[]之间
– 在’name:value’对之间必须有一个逗号,
JSON不关心其元素之间的空白,因此您可以通过多种方式格式化代码:
{
“用户”:“艾玛”,
“连接”:“安全”,
“proxy_options”:[“SOCKS5”,“SSL”,“HTTP”,“FTP”],
“vpn”:false,
“userID”:215
}
是相同的
{“user”:“Emma”,“connection”:“secured”,“proxy_options”:[“SOCKS5”,“SSL”,“HTTP”,FTP“],”vpn“:false,”userID“:215}
或者作为
{“user”:“Emma”,“connection”:“secure”,
“proxy_options”:[“SOCKS5”,“SSL”,“HTTP”,FTP“],”vpn“:false,
“userID”:215}
为了使人类组件更舒适,您将看到大多数JSON实体在第一个示例中编写,每个元素在一行上。
嵌套元素
到目前为止,这么好,没有什么比这更复杂,但为了实现复杂的实用程序,我们可以将元素组合得更多。
嵌套对象
当我们可以在同一个JSON中存储多个用户时,为每个用户创建一个JSON是没有意义的。在下面的示例中,对于每个用户,存在一个嵌套对象,以不同颜色突出显示:
{
“艾玛”:{
“连接”:“安全”,
“proxy_options”:[“SOCKS5”,“SSL”,“HTTP”,“FTP”],
“vpn”:false,
“userID”:215
},
“约翰”:{
“连接”:“安全”,
“proxy_options”:[“SOCKS5”,“SSL”,“FTP”],
“vpn”:是的,
“userID”:216
},
“莎拉”:{
“连接”:“安全”,
“proxy_options”:[“SOCKS5”,“SSL”,“HTTP”],
“vpn”:是的,
“userID”:217
},
“迈克尔”:{
“连接”:“安全”,
“proxy_options”:[“SOCKS5”,“SSL”,“HTTP”,“FTP”],
“vpn”:false,
“userID”:218
}
}
注意每个花括号后元素之间的逗号。这是一个语法规则。
对于更复杂的用法,JSON支持嵌套数组。数组可以包含多种数据类型。这里使用了两个嵌套数组并突出显示:
{
“用户”:“艾玛”,
“连接”:“安全”,
“proxy_options”:[“SOCKS5”,“SSL”,“HTTP”,“FTP”],
“vpn”:false,
“userID”:215,
“服务” : [
{
“serviceID”:“P1388”,
“购买”:“03-08-2018”,
“活跃”:是的
},
{
“serviceID”:“P1903”,
“购买”:“05-09-2018”,
“活跃”:是的
}
]
}
JSON vs XML
虽然仍在使用XML格式,但JSON现在是数据编组的首选。在越来越多基于在线的人类操作和交互中,JSON获得成功是正常的。首先,JSON比XML更有效,我在这篇文章中提到了一些原因。其次,所有现代浏览器都提供内置的JSON支持。
简短的例子:
JSON
{“客户”:
[
{“name”:“Tim”,“email”:“ [email protected] ”},
{“name”:“Drew”,“email”:“ [email protected] ”},
{“name”:“Carla”,“email”:“ [email protected] ”}
]
}
XML
<客户>
<客户>
<名称>添</名称>
<email> [email protected] </ email>
</客户端>
<客户>
<名称>德鲁</名称>
<email> [email protected] </ email>
</客户端>
<客户>
<名称>卡拉</名称>
<email> [email protected] </ email>
</客户端>
</客户>
让我们总结一下JSON广泛使用XML的其他原因:
– 它更易于阅读和书写
– 它更容易学习
– 它支持数组
– 它将相同的数据存储在更少的磁盘空间中,同时使用更少的网络带宽
XML也比JSON有一些优势:
– 它允许用户显示数据,因为它是一种标记语言
– 它支持更多数据类型。沿着文本,它支持图形,图表,图像等。
– 它支持评论
阅读本文后,根据您的目的,我确信您知道哪种格式适合您的项目。