One.简介
JOSN类似XML:
- JSON 是纯文本
- JSON 具有“自我描述性”(人类可读)
- JSON 具有层级结构(值中存在值)
- JSON 可通过 JavaScript 进行解析
- JSON 数据可使用 AJAX 进行传输
但JSON也有和XML的不同之处:
- JOSN是在JavaScript中读写结构化数据的更好方式
- 把JOSN直接传给eval(),不必创建DOM对象
- 不存在变量
Two.语法
JOSN的语法可以表示以下三种类型的值
- 简单值:使用与JavaScript相同的语法,可以在JOSN中表示字符串、数值、布尔值和null,但JOSN不支持JavaScript中的特殊值undefined
- 对象:对象作为一种复杂数据类型,表示的是一组无序的键值对儿。而每个键值对儿中的值可以是简单值,也可以是复杂类型的值
- 数组:数组也是一种复杂数据类型,表示一组有序的值的列表,可以通过数值索引来访问其中的值。数组的值也可以是任意类型——简单值、对象和数组
JSON 语法是 JavaScript 对象表示法语法的子集。
- 数据在名称/值对中
- 数据由逗号分隔
- 花括号保存对象
- 方括号保存数组
一.简单值
以下就是有效的JOSN数据:
5
“heLLo world!"
二. 对象
在JavaScript中对象字面量的表示为:
var person = {
name: "Nicholas",
age: 29
};
JSON表示上述对象的方式为:
{
"name": "Nicholas",
"age": 29
}
也可以在顶级对象中嵌入属性:
{
"name": "Nicholas",
"age": 29,
"school": {
"name": "Merrimack College",
"location": "North Andover, MA"
}
}
同一个对象中绝对不会两个同名属性,但是嵌套可以存在。例如上面的例子代码。
三.数组
JavaScript的数组字面量: var values = [25, "hi", true];
在JSON中:[25, "hi", true]
注意!!!
JSON数组也没有变量和分量。把数组和对象结合起来,可以构成更复杂的数据集合。