1. 什么是JSON?
- JSON即JavaScript Object Notation,JavaScript对象表示法;
- 一种轻量级的数据交换格式,存储和交换文本信息的语法,类似XML;比XML更小、更快、更易解析;
- 独立于语言;
- 具有自我描述性,更易理解;
2. JSON的结构
两种结构:
1) “名称/值”对的集合。不同的语言中,它被理解位对象(object),记录(record),结构(struct),哈希表(hash table),有键列表(keyed list),或者关联数组(associative array)。
2)值的有序列表(An ordered list of values),在大部分语言中,它被理解为数组(array)。
3. JSON具体形式
1) 对象是一个无序的“名称/值 对”集合,一个对象以{开始,以} 结束。名称和值之间用冒号分隔,“名称/值”对之间使用逗号分隔。
“名称/值”对 {name:value}
2) 数组是值的有序集合。一个数组以[ 开始,以] 结束。值之间使用逗号分隔,
array[ value1,value2 ,value3,...]
3) 一个名称是一个字符串,一个值可以是双引号括起来的字符串,一个数值,一个布尔值,null,对象或者数组。这些结构可以嵌套。
4. JSON举例
{"firstName": "John",
"lastName": "Smith",
"male": true,
"age": 25,
"address":
{
"streetAddress": "21 2nd Street",
"city": "New York",
"state": "NY",
"postalCode": "10021"
},
"phoneNumber":
[
{
"type": "home",
"number": "212 555-1234"
},
{
"type": "fax",
"number": "646 555-4567"
}
]
}
{
"employees": [
{ "firstName":"Bill" , "lastName":"Gates" },
{ "firstName":"George" , "lastName":"Bush" },
{ "firstName":"Thomas" , "lastName":"Carter" }
]
}
5. JSON与XML
类似XML
- JSON是纯文本
- JSON具有自我描述性(人类可读)
- JSON具有层级结构(值中存在值)
- JSON可通过JavaScript进行解析
- JSON数据可使用AJAX进行传输
- 相比XML的不同之处
没有结束标签
- 更短
- 读写的速度更快
- 能够使用内建的JavaScript eval() 方法进行将诶西
- 使用数组
- 不使用保留字
参考 http://baike.baidu.com/view/136475.htm?fr=ala0_1_1
http://www.w3school.com.cn/json/json_intro.asp
http://www.json.org/json-zh.html