第一种方式
$.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解析
原文地址:http://www.cnblogs.com/smivico/p/7954190.html