JSON的入门与使用
什么是JSON?
JSON:JavaScript Object Notation 【JavaScript 对象表示法】
JSON是存储和交换文本信息的语法,类似xml。
Json之前,大家都用 XML 传递数据。XML 是一种纯文本格式,所以适合在网络上交换数据,但是 XML 格式比较复杂,终于道格拉斯·克罗克福特(Douglas Crockford)发明了JSON 这种超轻量级的数据交换格式。
为什么需要JSON
JSON比XML更小,更快,更易解析。
- javaScript原生支持JSON,解析速度会很快
- XML解析成DOM对象的时候,浏览器【IE和fireFox】会有差异
- 使用JSON会更简单
相比XML的不同之处
- 没有结束标签
- 更短
- 读写的速度更快
- 能够使用内建的JavaScript eval()方法进行解析
- 使用数组
- 不使用保留字
JSON如何使用
数据格式
JSON实际上是Javascript的一个子集,所以JSON的数据格式和JavaScript是对应的。
- number => JS number
- boolean => JS boolean
- string => JS string //
- null => JS null
- array => JS Array 的表达方式 []
- object => JS {} 表达式
注意事项
- JSON规定的字符集是UTF-8,字符串必须使用双引号"",Object的键也必须使用""
- 数组或对象的最后一个成员,不能加逗号
JSON语法规则
JSON 语法是 JavaScript 对象表示法语法的子集。
- 数据在名称/值对中
- 数据由逗号分隔
- 花括号保存对象
- 方括号保存数据
JSON的两种结构
JSON的结构共有两种:
- 对象结构
- 数组结构
JSON数组
例:创建一个新的 JavaScript 变量,然后将 JSON 格式的数据字符串直接赋值给它
var people =
{ "programmers": [
{ "firstName": "Brett", "lastName":"McLaughlin", "email": "brett@newInstance.com" },
{ "firstName": "Jason", "lastName":"Hunter", "email": "jason@servlets.com" },
{ "firstName": "Elliotte", "lastName":"Harold", "email": "elharo@macfaq.com" }
]
}
JSON对象
例:
var obj = {
age: 20,
str: "zhongfucheng",
method: function () {
alert("我爱学习");
}
};
解析JSON
JavaScript原生支持JSON,可以使用eval()方法来解析JSON,把JSON文本数据转换成Javascript对象。
function test() {
//在写JSON的时候,记得带上逗号
var txt = "{a:123," +
"b:'zhongfucheng'}";
//使用eval解析JSON字符串,需要增添()
var aa = eval("(" + txt + ")");
alert(aa);
}
效果


浙公网安备 33010602011771号