JS中解析JSON。

在ECMAScript中,把JSON对象解析为字符串使用的是内置JSON(内置)对象的stringify方法,而把JSON字符串解析为对象用的是parse方法。

 

JSON.stringify 方法科包含3个参数,第一个是要转化的JSON对象,第二个是过滤器,第三个是换行的缩进(最大为10)。

 1 var user = '{"name":"Lily","id":"00909","hobby":["swimmimg","football","computer game"]}';
 2 var userObj = JSON.parse(user);
 3 
 4 var test1 =JSON.stringify(userObj);
 5 //输出"{"name":"Lily","id":"00909","hobby":["swimmimg","football","computer game"]}"
 6 var test2 = JSON.stringify(userObj,["name","id"]);
 7 //输出"{"name":"Lily","id":"00909"}"
 8 var test3 = JSON.stringify(userObj,["name","id"],1);
 9 /*
10 输出:
11 "{
12  "name": "Lily",
13  "id": "00909"
14 }"
15 */

JSON对象的解析还可以自定义方法,方法是在对象中加入toJSON方法。

1 1 //首先给对象定义一个toJSON方法。
2 2 var userObj  = {"name":"Lily","id":"00909","hobby":["swimmimg","football","computer game"],"toJSON":function(){return this.name + "->" + this.id;}};
3 3 
4 4 var test = JSON.stringify(userObj);
5 5 //输出为: ""Lily->00909"";

而对于JSON.parse方法,第二个参数可以是一个回调函数。 

posted @ 2014-02-25 23:54  还好我是程序员  阅读(249)  评论(0编辑  收藏