json介绍
JSON(javaScript Object Nitation,JS对象简谱)是一种轻量级的数据交换格式。它基于ECMAScript的一个子集,采用完全独立于编程语言的文本格式来储存和表示数据。
特点:
1.简洁、清晰的层次结构使得JSON成为理想的数据交换语言
2.易于人阅读和编写
3.易于机器解析和生成
4.提升网络传输效率
JSON语法:
JSON是一个标记符的序列。(标记符包含六个构造字符、字符串、数字和三个字面名)
JSON是一个序列的对象(bject)或数组(Array)。
1.六个构造字符:[ { ] } : ,(两个大括号,两个花括号,冒号,逗号)
2.值可以是对象、数组、数字、字符串或者三个字面值(false/null、true)中的一个。值中的字值中的英语必须使用小写。
3.对象(Object)由花括号括起来的逗号分割的成员构成,成员是字符串键和上文所述的值由逗号分割的键值对组成,如:
{"name":"John Doe","age":18,"address":{"country":"china","zip-code":"10000"}}
4.数组是由方括号起来的一组值构成,如:
[3, 1, 4, 1, 5, 9, 2, 6]
一些合法的JSON的实例:
1. {"a":1,"b":[1,2,3]}
2. [1, 2, "3", {"a": 4}]
3. 3.14
4. "plain_text"
常用类型
数据结构:Object Array
基本类型:string、number、true、false、null
任何支持的类型都可以通过 JSON 来表示,例如字符串、数字、对象、数组等。但是对象和数组是比较特殊且常用的两种类型。
和XML的比较
实例比较
XML和JSON都使用结构化方法来标记数据,下面来做一个简单的比较。 用XML表示中国部分省市数据如下:
<country>
<name>中国</name>
<province>
<name>黑龙江</name>
<cities>
<city>哈尔滨</city>
<city>大庆</city>
</cities>
</province>
<province>
<name>广东</name>
<cities>
<city>广州</city>
<city>深圳</city>
<city>珠海</city>
</cities>
</province>
<province>
<name>台湾</name>
<cities>
<city>台北</city>
<city>高雄</city>
</cities>
</province>
<province>
<name>新疆</name>
<cities>
<city>乌鲁木齐</city>
</cities>
</province>
</country>
用JSON表示如下:
"name": "中国",
"province": [{
"name": "黑龙江",
"cities": {
"city": ["哈尔滨", "大庆"]
}
}, {
"name": "广东",
"cities": {
"city": ["广州", "深圳", "珠海"]
}
}, {
"name": "台湾",
"cities": {
"city": ["台北", "高雄"]
}
}, {
"name": "新疆",
"cities": {
"city": ["乌鲁木齐"]
}
}]
}
优势: