1、什么是JSON
JSON(JavaScript Object Notation的简写)是一种轻量级的数据交换格式,相对于xml等其他方式,json更易于人们的阅读和编写,同时也更易于机器的解析和生成。
2、JSON的语法
a)json中的数据以名称/值对的形式保存,名称和值之间用冒号分割,如:"name":"zhangsan"
b)数据与数据之间以逗号分割,花括号保存对象,方括号保存数组
c)json的数据类型可以是数字、字符串、null、布尔值、对象、数组等,其中对象和数组是两种特殊的类型
d)一般情况下,json就是由对象和数组组成的,对象和数组各自按照各自的方法操作即可
3、JSON对象
json对象在花括号中书写,对象中可以包含多个key-value键值对,其中key必须为字符串,value值为合法的json数据类型,例如:
var person = {
"name": "张三",
"age": 26,
"sex": "男",
"score": 89
}
json对象属性的取值可以用点号"."来访问,例如想得到上面name的属性值,则 var name =person.name,即 name=张三。同时,json对象中也允许嵌套json对象,例如:
var person = {
"name": "张三",
"age": 26,
"sex": "男",
"score": 89,
"hobby": {
"h1": "游泳",
"h2": "唱歌",
"h3": "阅读"
}
}
此处的json对象同样使用点号"."来访问,或者方括号[ ]来访问,如得到爱好为游泳,则可以使用
// var x = person.hobby.h1
或者 var x = person.hobby[h1]
// 两种方式都得到结果都为: 游泳
4、JSON数组
json数组在方括号[ ]中书写,json中数组值必须是合法的json数据类型,例如:
var city = ["北京市", "上海市", "广州市", "深圳市"]
json数组的取值按照下标索引值访问即可
// var area = city[2]
// 此处得到结果:广州市
json对象中属性值也可以是一个数组,例如:
var a = {
"name": "城市",
"num": 4,
"city": ["北京市", "上海市", "广州市", "深圳市"]
}
利用索引值访问数组
// var b = a.city[1]
// 此处得到结果:上海市
注意:json对象中可以包含数组,数组中也可以包含对象,json对象中可以嵌套子对象,子对象中可以再嵌套数组或对象。