现在程序员还有谁不知道 JSON 吗?无论对于前端还是后端,JSON 都是一种常见的数据格式。那么 JSON 到底是什么呢?
JSON 的定义
JSON (JavaScript Object Notation) ,是一种轻量级的数据交换格式。它的使用范围很广,并成为 ECMA 标准,可以被使用在多种编程语言中,用于前后端之间的数据传输、存储和交换数据。可以说是“用更少的编码,有更快的处理速度”,所以深受广大程序员的喜爱。
JSON 格式的数据是由键值对组成的,其中键值对之间使用逗号分隔。在 JSON 中,键和值都必须使用双引号引起来。
一个简单的 JSON 对象例子:
{
"name": "Apifox",
"age": 2,
"city": "Guangzhou"
}
JSON 的含义和类型
JSON 用于 JavaScript,把任何 JavaScript 对象变成 JSON,即把这个对象序列化成一个 JSON 格式的字符串,然后通过网络传递给其他计算机。JSON 格式的字符串由双引号 “ ”
包裹,由键值对组成,键和值之间使用冒号 :
分隔,键值对之间使用逗号 ,
分隔。值可以是字符串、数字、布尔、null、数组或对象等类型。
在 JSON 中,常见的数据类型有:
- 字符串:JavaScript 中的
string
,用于表示文本信息,包含反斜杠\
转义。
{ "name": "Apifox" }
- 数字:JavaScript 中的
number
,用于表示数值信息,可以是整数或浮点数。
{
"id": 48,
"price": 17.95
}
- 布尔值:JavaScript 中的
boolean
,用于表示真假信息。布尔值并不包含在引号内,而是被视为字符串值。
{ "allowLogin": false }
- null:JavaScript的
null
,用于表示空值。
{ "address": null }
- 对象:JavaScript的
{ ... }
,表示方式用于表示有序的值的集合,每个值可以是任意类型。
{
"category" : {
"id" : 675442 ,
"name" : "小狐"
}
}
- 数组:JavaScript的
Array
,表示方式为[]
,用于表示无序的键值对集合,每个键值对都是由键名和对应的值组成。
{
"list" : [
{
"name" : "Lihua",
"age" : 22,
}
{
"name" : "Zhangsan",
"age" : 25
}
]
}
下面是一个完整的 JSON 数据示例:
{
"name": "Simon",
"age": 2,
"isMale": true,
"hobbies": ["reading", "learning", "traveling"],
"address": {
"city": "Guangzhou",
"postCode": "510000"
},
"email": null
}
JSON 数据的使用场景
JSON 的应用非常广泛。它被用于前后端之间的数据传输,也被用于存储和交换数据。在 Web 开发中,JSON 通常被用来获取来自服务器的数据。这些数据可以被使用在网页上,以便实现动态的交互和更新页面内容。同时,JSON 也被广泛应用于移动应用程序、桌面应用程序以及各种互联网服务中。
相比于其它数据格式,JSON 具有以下优势:
- 简洁易读:JSON 的语法比较简洁,易于阅读和编写。
- 解析速度快:JSON 的解析速度通常比其他数据格式更快。
- 兼容性好:JSON 和 JavaScript 的兼容性非常好,因为它们共享着相同的语法和数据结构。
JSON 与 XML
XML 是一种另外一种常见的数据格式(纯文本格式),也被广泛应用于数据交换。在 JSON 出现之前,大家一直用 XML 来传递数据。
但是相对于 JSON 而言,XML 规范比较复杂,JSON 的语法更加简洁,易于阅读和编写。且 JSON 的解析速度通常也比 XML 更快。同时,JSON 和 JavaScript 的兼容性非常好,因为它们共享着相同的语法和数据结构。
但是 XML 仍然是一种被广泛使用的数据格式,尤其在某些特定领域和场景下,它对于数据的描述更加严谨和准确,且支持更为复杂的数据结构和数据类型定义等。因此,在实际的编程和开发过程中,我们需要根据具体的场景和需要,选择合适的数据格式。
关于 JSON 的其他补充
除了上述内容,JSON 还有一些其他的相关内容:
- JSONP:JSONP 是 JSON with Padding 的简称,是一种通过 script 标签跨域获取 JSON 数据的技术。
- JSON Schema:JSON Schema 是一种用于验证和描述 JSON 数据的规范,它可以用于定义 JSON 数据的结构、格式和约束条件。
- JSON Web Token(JWT) :JWT 是一种基于 JSON 的开放标准,用于在网络上安全地传输声明。它常被用于身份认证和授权场景中。
需要注意的是,JSON 虽然被广泛使用,但是它并不是一种完全安全的数据格式。在处理 JSON 数据时,需要注意防止 XSS 攻击和其他安全漏洞。因此,在使用 JSON 时,需要仔细考虑数据的来源和使用方式,以确保数据的安全性。
小结
JSON 作为一种轻量级的数据格式,具有更加简洁的语法和更好的解析速度。因此,学习如何使用JSON 已经变成了现代编程的基本技能之一。JSON 数据格式也是常用于 API 接口传输数据的格式。
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!