JSON :
JSON是 JavaScript Object Notation 的缩写。它是一种轻量级的数据交换语言,一般用于客户端与服务器端进行数据交换,即服务器端首先生成符合json语法格式的字符串,然后发送给客户端,接着客户端将该字符串转换成JavaScript对象。
关于json,最重要的是要理解它是一种数据交换格式,不是一种编程语言。虽然它与JavaScript的对象直接量语法类似,但json并不属于JavaScript。而且,并不是只有JavaScript才使用json,很多编程语言都有针对json的解析器和序列化器。
json的语法可以表示一下3种类型的值:
① 简单值:使用与JS相同的语法,可以在json中表示字符串,数字,布尔值和null。json不支持JS的undefined。
下面是json表示字符串的方式:
“Hello World !”
注意JS字符串和json字符串的最大区别就是:JS字符串既可以使用双引号也可以使用单引号,而json字符串必须使用双引号。
② 对象:对象作为一种复杂数据类型,表示的是一组键值对。键值对中的值可以是简单值,也可以是复杂数据类型的值。
json中的对象和JS的对象直接量稍有不同。这是一个JS的对象直接量:var person={"name":"tom","age":20};
json表示上述对象的方式为:
{"name":"tom","age":20}
可以看出有两点不同:第一json没有声明变量;第二json没有末尾的分号。还要强调的一点是,
json中对象的属性名必须加双引号。
③ 数组:数组也是一种复杂数据类型,表示的是有序的键值对,数值索引为它的键。数组的值也可以是任意类型---简单值、对象或数组。
JS中的数组直接量:var a=[25,"hi",true];
json中的数组表示为:
[25,"hi",true]
注意json中的数组既无变量也无末尾的分号。