JSON.parse()

一直记不住 JSON.parse()的用法,在此记录下来,加强记忆。

先看解释:

 在js中使用JSON.parse(text[, reviver]),用于将一个JSON数据,转换成JavaScript对象。

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

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

 

 

 


 

先看不带调用函数的

  代码如下:

     

 1 <script type="text/javascript">
 2      //people的值是数组类型,数组中的值是对象类型。 people是一个对象
 3      var jsonStr = '{ "people" : [' +
 4                '{ "name":"张三" , "sex":"男" },' +
 5                '{ "name":"李四" , "sex":"男" },' +
 6                '{ "name":"莉莉" , "sex":"女" } ]}';
 7             
 8     //将jsonStr转换为对象
 9     var jsObj = JSON.parse(jsonStr);
10     //打印出来看看
11     document.write(JSON.stringify(jsObj)  + "<br/>");
12     //调用
13     document.write(jsObj.people[0].name + "<br/>" + jsObj.people[2].name);
14 </script>

 

输出内容如下:

                    

 


 

这里是带调用函数 

  代码如下:

    

 1 <script type="text/javascript">
 2      //people的值是数组类型,数组中的值是对象类型。 people是一个对象
 3      var jsonStr = '{"num1":"10", "num2":"20", "num3":"30"}';
 4             
 5      //将jsonStr转换为对象,将每个对象的成员调用函数,并返回值
 6      var jsObj = JSON.parse(jsonStr,function(k,v){
 7      if(k === ''){
 8           return v;
 9           }
10      else{
11           return v*2;
12           }
13      });
14      //全部打印出来看看
15      document.write(JSON.stringify(jsObj) + "<br/>");
16      //调用单个成员
17      document.write(jsObj.num1);
18 </script>

 

 

posted @ 2018-08-02 17:40  蛋挞一昊  阅读(1081)  评论(0)    收藏  举报