json基础
1、json(JavaScript Object Notation):JavaScript对象表示法。
1)简介:纯文本、轻量级的文本数据交换格式。类似于XML。
2)应用:常用于从web服务器上读取json数据,转换为JavaScript对象,然后在网页中使用。
3)特点:独立于语言和平台;具有自我描述性(人类可读),更易理解;具有层级结构;可使用JavaScript解析;可使用AJAX进行传输。
4)与XML对比:json更小、更快、更易解析。
没有结束标签,不使用保留字,更短;读写速度更快;更易使用,可用JavaScript eval()解析;使用数组。
5)与JS的关系:
json语法是JavaScript(对象表示法)语法的子集,因此可使用JS eval()将json转换为JavaScript对象。示例:
var jsonObject= { "name":"Bill Gates", "street":"Fifth Avenue New York 666", "age":56, "phone":"555 1234567"}; // 使用jsonObject.name取得name对应的值
var txt = '{ "employees" : [' + '{ "firstName":"Bill" , "lastName":"Gates" },' + '{ "firstName":"George" , "lastName":"Bush" },' + '{ "firstName":"Thomas" , "lastName":"Carter" } ]}'; var obj = eval ("(" + txt + ")"); // 必须把文本包围在括号中 // 使用obj.employees[1].lastName取得George的lastName
6)语法
{ // employees对象是包含3个员工记录(对象)的数组 "employees": [ { "firstName":"Bill" , "lastName":"Gates" }, { "firstName":"George" , "lastName":"Bush" }, { "firstName":"Thomas" , "lastName":"Carter" } ] }
基本数据保存在名称/值对中,如"firstName" : "John"。
花括号保存对象,对象可包含多个名称/值对。如{ "firstName":"John" , "lastName":"Doe" }。
方括号保存数组,数组可包含多个对象。
数据之间由逗号分隔。
7)其他:
json文本的MIME类型是"application/json"。
eval()函数可编译并执行任何JavaScript代码,存在安全问题,因此更安全的做法是使用json解析器将json转换为JavaScript对象。json解析器只能识别json文本,而不会编译脚本。另外,json解析器的速度更快。
参考资料:
http://www.w3school.com.cn/json/
不断学习中。。。