JSON.parse() 方法用于将一个 JSON 字符串转换为对象。

语法

JSON.parse(text[, reviver])

参数说明:

  • text:必需, 一个有效的 JSON 字符串。

  • reviver: 可选,一个转换结果的函数, 将为对象的每个成员调用此函数。

返回值:

返回给定 JSON 字符串转换后的对象。

var obj=JSON.parse('{"1": 1, "2": 2, "3": {"4": 4, "5": {"6": 6}}}', function(k, v) {
  // 遍历json字符串对象的  属性:值 ,最后一个属性为 "",值为{}
   document.write( k ); document.write(":"); document.write(v); document.write("<br>");
  if(k==='1' || k==='2') return v*7;       // 返回修改的值
  if(k==='4') return v*3;
   return v;  // 最后必须返回原值 或者:if(k==='') return v
});
alert(obj['2']);   // =14
alert(obj[3]['5'][6]); // =6 带不带引号都可以
alert(obj[3][4]); // =12

注意:

1、回调函数 要么不写,写了就一定要返回值

2、回调函数 会深度递归遍历转换的json对象 , 最后一个属性总是 '' : {}

3、对于属性k为number数值型的,只能通过obj [n] 访问值 , n带不带引号都可以

4、对于属性k为string字符串型的,可通过obj . str 或 obj [ 'str' ] 访问值 , 前者不能带引号 , 后者必须带引号


另外 : 还有一个jQuery函数 $.parseJSON()  受版本 1.9 和 3.0 影响 ,可参考下列链接使用

jQueryAPI中文文档资料

http://www.css88.com/jqapi-1.9/jQuery.parseJSON/

其它用例说明

http://www.365mini.com/page/jquery_parsejson.htm