JSON解析

第一种方式JSON.parse

$.ajax({
    "url":"result/json1.php",
     "type":"post",
      "success":function (data) {
      //①将JSON形式的字符串变为对象(JSON)
     var json = JSON.parse(data);
      $("h1").html(json.info);
            }
   })
var obj = {
              "name":"哈哈",
              "age":12
        }
console.log(typeof obj);
console.log( typeof JSON.stringify(obj));

第二种方式

概述:eval()是系统默认的函数,是作为window对象的一个方法、因此可以省略window直接使用;

             eval()这个函数很‘变态’;可以将字符串真的变为语义层面上的代表;

 

$.ajax({
              "url":"result/json1.php",
               "type":"post",
               "success":function (data) {
                 var json = eval("("+data+")");
                 console.log(typeof json);
                  $("h1").html(json.name);
               }
        });

eval("function fun(){console.log('我是一个函数')};fun();")

提示:eval()可以将字符串转换为咱们语义上的代码的含义

       ②eval(‘(‘+data+’)’);

第三种方式

 

$.ajax({
              "url":"result/json1.php",
               "type":"post",
               "success":function (data) {
                 var json = Function("return"+data)();
                 $("h1").html(json.ceo);
               }
        });

 

提示:JSON它是系统内置的对象、eval()它也是系统内置的函数可以将字符串转换为语义;

       Function系统内置的构造函数,我们也可以拿过来直接使用

json练习

 

result/json1.php
<?php
  $arr = array("name"=>"百度","info"=>"上市公司","ceo"=>"老板","age"=>30);
  //将数组转换为JSON返回给前端
  print_r(json_encode($arr));
?>
    <h1></h1>
    <script type="text/javascript">
        $.ajax({
               "url":"result/json1.php",
               "type":"post",
               "success":function (data) {
                /* ①
                  将JSON形式的字符串变为对象(JSON)
                     var json = JSON.parse(data);
                     $("h1").html(json.info);
                     console.log(data);
                   ②
                    var json = eval("("+data+")");
                   $("h1").html(json.name);
                   console.log(typeof json);
                   console.log(json);
                   eval("function fun(){console.log('我是一个函数')};fun();")
                    ③
                   var json = Function("return"+data)();
                   $("h1").html(json.ceo);
                   console.log(json);
                 */

               }
        });
    </script>

 

posted @ 2017-12-02 14:39  欢复  阅读(328)  评论(0编辑  收藏  举报