1. 程式人生 > >JSON解析

JSON解析

nbsp pan () es2017 方法 .cn fun htm eof

第一種方式

$.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>

JSON解析