JSON是一种数据格式,不是一种编程语言。
JSON是JavaScript的一个严格子集,利用了JavaScript中的一些模式来表示结构化数据。并不是只有JavaScript才是用JSON,很多编程语言都有针对JSON的解析器和序列化器。
1.1语法
JSON的语法可以表示以下三种类型的值
1.1.1 简单值
可以在JSON中表示字符串、数值、布尔值和null。但是JSON不支持JavaScript中的特殊值undefined
下面是JSON表示字符串的方式:
"Hello World"
JSON字符串必须引用双引号
1.1.2 对象
JavaScript中的对象字面量:
var person = {
name:"Peggy",
age:20
};
JSON表示上述对象的方式:
{
"name":"Peggy",
"age":20
}
-
没有声明变量(JSON中没有变量的概念)
-
没有末尾的分号(对象属性必须加引号)
同一个对象中绝对不能出现两个同名属性。
1.1.3 数组
JavaScript中的数组字面量:
var values = [25, "hi", true]
JSON中表示数组
[25,"hi",true]
1.2 解析与序列化
1.2.1 JSON的优点
JSON能流行不仅在于他的JavaScript有类似的语法,更重要的是可以把JSON数据结构解析为有用的JAvaScript对象。
XML数据结构解析DOM文档:
doc.getElementsByTagName("books")[2].getAttribute("title")
JSON解析:
books[2].title