【1】JSON是什么
JSON:JavaScript对象表示法(JavaScript Object Notation);
JSON是存储和交换文本信息的语法,类似XML。它采用键值对的方式来组织,易于人们阅读和编写,同时也易于机器解析和生成;
JSON是独立与语言的,也就是说不管什么语言,都可以解析JSON,只需要按照json的规则来就行。
【2】JSON与XML比较
json的长度和xml格式比起来很短小;
json读写的速度更快;
json可以使用JavaScript内建的方法直接进行解析,转换成JavaScript对象,非常方便;
【3】JSON语法规则
JSON数据的书写格式是: 名称/值对
名称/值对组合中的名称写在前(在双引号中),值对写在后面(同样也在双引号中),中间用冒号隔开
“name”:“郭靖”
JSON的值的数据类型:
数字、字符串、逻辑值、数组、对象、null
{
"staff":[
{"name":"小红","age":70},
{"name":"小蓝","age":70}
]
}
【4】JSON解析
eval和JSON.parse
在代码中使用eval是很危险的,特别是用他执行第三方的JSON数据(其中可能包含恶意代码)时,因为eval方法不仅会解析数据还会执行json文件中的一些方法。所以尽可能使用JSON.parse()方法解析字符串本身,该方法还可以捕获JSON中的语法错误。
var jsondata = '{
"staff":[
{"name":"小红","age":70},
{"name":"小蓝","age":70}
]
}';
var jsonobj = eval('('+jsondata+')');
var jsonobj = JSON.parse(jsondata);
注释:json代码虽然语法规则简单,但是有很多双引号什么的,所以很容易编写出现错误,可以使用JSONLint工具进行校验json代码