JSON 英文全称 JavaScript Object Notation,是一种轻量级的数据交互格式。
它是JavaScript原生格式,这意味着在JavaScript中处理JSON数据不需要任何特殊的 API 或工具包。
传送数据时,JSON可以将JavaScript 对象中表示的自一组数据转换为字符串,然后就可以在函数之间轻松地传递这个字符串,或者将字符串从Web客户端传递给服务器端。
操作数据时,JSON可以将JSON格式的字符串转成JavaScript对象,以对象方式使用数据。
一、JSON格式的字符串转成JavaScript对象
使用的函数是:JSON.parse(text);
首先,JSON 格式的字符串数据:
//text为一个JSON对象,在其中包含了一个JSON数组
var text = '{ "sites" : [' +
'{ "name":"Google" , "url":"www.google.com" },' +
'{ "name":"Taobao" , "url":"www.taobao.com" } ]}';
//这里要注意:key值和value值,也就是name、Google这些字段一定要用双引号,不然无法正常转换成JavaScript对象。
然后,使用JavaScript内置函数JSON.parse()将字符串转换为 JavaScript对象:
var obj = JSON.parse(text);
最后,在你的页面中使用JavaScript对象:
document.write(obj.sites[0].name + "-" + obj.sites[0].url);
//这里就是以对象的方式使用数据了,其中有数组,所以还用到了下标。
获取json对象里面的值的方式:
方式1:var name=obj.name;
方式2:var name=obj[“name”];
上面的打印也可以写成:
document.write(obj["sites"][0]["name"] + "-" + obj["sites"][0]["url"]);
二、json对象转成string字符串
当处理完JavaScript对象时,想要将数据传送出去,可以将数据转换成字符串形式的,方便传输。
使用的函数是:JSON.stringify(jsonobj);
上面,我们有转换出来一个JavaScript对象,这个对象打印出来是这样的:
[object Object]
我们可以将这个对象转换成字符串,就可以打印了对象里的内容了
var str = JSON.stringify(obj);
document.write(str);
打印出来是这样的:
JSON.stringify()函数还有两个可以参数,可以将字符串格式化显示:
var str = JSON.stringify(obj,null,4);
document.write("<pre>");
document.write(str);
document.write("</pre>");
打印出来是这样的: