JSON解析
Posted amandaj
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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>
以上是关于JSON解析的主要内容,如果未能解决你的问题,请参考以下文章
使用 json rereiver php mysql 在片段中填充列表视图
ios - Heroku 和 MongoDb 上的自定义解析服务器错误 3080:JSON 文本没有以数组或对象开头,并且允许未设置片段的选项