json:是一种轻量级的数据交互格式,是JavaScript的原生格式,所以JavaScript操作处理json不要任何包,api,任何依赖
一.json有两个结构:(1)数组 (2)对象
(1)数组:就是以"["开始,以“]”结束的,值之间运用 “,”(逗号)分隔。
比如:
person:[{
date: '2016-05-02',
name: '王小虎',
address: '上海市普陀区金沙江路 1518 弄'
}, {
date: '2016-05-04',
name: '王小虎',
address: '上海市普陀区金沙江路 1517 弄'
}, {
date: '2016-05-01',
name: '王小虎',
address: '上海市普陀区金沙江路 1519 弄'
}, {
date: '2016-05-03',
name: '王小虎',
address: '上海市普陀区金沙江路 1516 弄'
}]
person是一个数组,数组中有4个值,值也就是一个对象
(2)什么是对象
对象就是以“{”开始,以“}”结束的,后边跟着每一对键值,键与值之间使用冒号分隔开。如果值是字符,则必须用引号,数值型则不需要。
比如:
{
date: '2016-05-03',
name: '王小虎',
address: '上海市普陀区金沙江路 1516 弄'
}
在数据传输中,json是以文本,即字符串的形式传递的,而js操作json对象,所以json对象和json字符串之间的转换是关键。
二:json数据转换
(1)json字符串转换为json对象
a. JSON.parse()方法
var a = '{"a":2}';
JSON.parse(a); // {a:2}
b. parseJSON()方法
$.parseJSON(jsonStr);
//jQuery.parseJSON(jsonStr); //使用jquery插件
c.eval()方法
eval()函数可计算某一个字符串,并执行其中的javascript代码
var s = '{a:2}';
eval('('+s+')');
将json字符串转成json对象,需要在字符串外包裹一对括号(), {a:2}
(2)json对象转换成字符串
JSON.stringify()方法,将非字符串转成字符串。
var s = {'a':'2'};
JSON.stringify(s); // "{"a":2}"