什么是JSON
JSON,全称是JavaScript Object Notation。它是基于JavaScript编程语言ECMA-262 3rd Edition-December 1999标准的一种轻量级的数据交换格式,主要用于跟服务器进行交换数据。跟XML相类似,它独立语言,在跨平台数据传输上有很大的优势。
JSON 语法规则
JSON 语法是 JavaScript 对象表示法语法的子集。
数据在名称/值对中
数据由逗号分隔
大括号保存对象
中括号保存数组
JSON 值
JSON 值可以是:
- 数字(整数或浮点数)
{“age” : 20 } - 字符串(在双引号中)
{“name” : “zhangsan”} - 逻辑值(true 或 false)
{“flag” : false} - 数组(在中括号中)
{“pelple”: [
{“name” : “zhangsan”, “age” : 20},
{“name” : “lisi”,”age” : 22}
]
} - 对象(在大括号中)
{“name” : “zhangsan”, “age” : 20} - null
{“name” : null , “age” : null}
JSON 对象和 JSON 字符串的区别
JSON 对象:
{“name” : “zhangsan”, “age” : 20}
JSON 字符串:
“{“name” : “zhangsan”, “age” : 20}”
将 JSON 文本转换为 JavaScript 对象
由于 JSON 语法是 JavaScript 语法的子集,JavaScript 函数 eval() 可用于将 JSON 文本转换为 JavaScript 对象。
eval() 函数使用的是 JavaScript 编译器,可解析 JSON 文本,然后生成 JavaScript 对象。必须把文本包围在括号中,这样才能避免语法错误:
var txt = '{ "people" : [' +
'{ "name":"zhangsan" , "age":20 },' +
'{ "name":"lisi" , "age":22 },' +
'{ "name":"wangwu" , "age":24 } ]}';
var obj = eval ("(" + txt + ")");
<!--
var obj = JSON.parse(txt);
-->