JSON 是什么
XML 和 JSON 都是存储和传输数据的一种结构化数据格式,目前 JSON 已取代 XML 成为主流格式。
2006年,Douglas Crockford 把JSON(JavaScript Object Notation ,JavaScript对象表示法)作为 IETF RFC 4627提交给IETF,而 JSON 的应用早在2001年就已经开始了。JSON 是 JavaScript 的一个严格的子集,利用了JavaScript中的一些模式来表示结构化数据。Crockford认为与XML相比,JSON 是在 JavaScript 中读写结构化数据的更好的方式。
JSON 数据类型
简单值
简单值是 JSON 数据形式中最简单的数据类型,用于表示字符串、数值、布尔值 和 null,格式为 属性名 : 属性值 表示一个简单值,如下:
"id": 001,
"name": ”张三“
对象
对象是 JSON 数据形式中复杂的数据类型,格式为 { } 表示一个对象(对象允许嵌套或包含简单值、数组)
{
“id”: 001,
“author”: “刘乾”,
“publisher”:“工业出版社”,
“date”:“2020-11-1”,
“price”:22.5
}
以上 JSON 语法表示一个对象,包含有五个简单值。
JSON 的对象是可以嵌套,如下:
{
“name” : “张三”,
“age” : 29,
“school”: {
“name”: “成都一中”,
“location”: “人民中路三段38号”
}
}
以上 JSON 语法表示一个对象,包含两个简单值,还嵌套一个对象。
数组
数组是 JSON 数据形式中第二复杂的数据类型,格式为 [ ] 表示一个数组(数组允许嵌套或包含简单值、对象)
如:[ 25,“hi”, true ]
数组的元素可以为简单值、对象或数组,如下:
[
{
"title": "Professional JavaScript",
"authors": [
"Nicholas C. Zakas"
],
“edition”: 3,
“year”: 2011
},
{
"title": "Professional JavaScript",
"authors": [
"Nicholas C. Zakas"
],
“edition”: 2,
“year”: 2009
}
]
总结
JSON 是一个轻量级的结构化数据格式,通过简单值、对象和数组三种类型即可表示任意复杂的数据。XML 也能表示同样复杂的数据,但 JSON 比 XML 更为简洁,而且在 JS 中使用更为便利,是目前主流的数据格式。