1、概念
JSON指的是JavaScript对象表示法(JavaScript Object Notation)
JSON是轻量级的文本数据交换格式
JSON独立于语言
JSON具有自我描述性,更易理解
JSON是存储和交换文本信息的语法,类似XML,但JSON比XML更小更快,更易解析
emp.json
{ "employees": [ { "firstName":"Bill" , "lastName":"Gates" }, { "firstName":"George" , "lastName":"Bush" }, { "firstName":"Thomas" , "lastName":"Carter" } ] }
emp.xml
<employees>
<employee>
<firstName>Bill</firstName>
<lastName>Gates</lastName>
</employee>
<employee>
<firstName>George</firstName>
<lastName>Bush</lastName>
</employee>
<employee>
<firstName>Thomas</firstName>
<lastName>Carter</lastName>
</employee>
</employees>
2、比较XML
没有结束标签
更短
读写速度更快
能够使用内建的JavaScript eval()方法进行解析
使用数组
不使用保留字
3、JSON的语法
JSON语法是JavaScript对象表示法语法的子集
数据在名称/值对中
数据由逗号隔开
花括号保存对象
方括号保存数组
4、JSON值
JSON值可以是:
数字(整数或浮点数)
字符串(在双引号中)
逻辑值(true或false)
数组(在方括号中)
对象(在花括号中)
null
5、JSON文件
JSON文件的文件类型是 -> .json 后缀的文件
JSON文件的MIME类型是 -> application/json
6、案例
1)创建包含JSON语法的JavaScript字符串
var txt = '{ "employees" :
[' +
'{ "firstName":"Bill" , "lastName":"Gates" },' +
'{ "firstName":"George" , "lastName":"Bush" },' +
'{ "firstName":"Thomas" , "lastName":"Carter" }
]
}';
2)将JSON文本转换为JavaScript对象
var obj = eval ("(" + txt + ")");
注:eval()函数使用的是JavaScript编译器,可解析JSON文本,然后生成JavaScript对象,必须把文本包围在括号中,这样才能避免语法错误
3)在网页中使用JavaScript对象
document.getElementById("fname").innerHTML = obj.employees[1].firstName
document.getElementById("lname").innerHTML = obj.employees[1].lastName