JSON解析
阿新 • • 發佈:2017-12-02
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(typeofobj); 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解析