服务器端:
<?PHP
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
var_dump(json_decode($json));
var_dump(json_decode($json,true));
?>
json_decode($json,true)输出的一个关联数组
json_decode($json)输出的是对象
<?PHP
$arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);
echo json_encode($arr);
?>
输出:{“a”:1,”b”:2,”c”:3,”d”:4,”e”:5}
json_encode()数组转json字符串
服务器端发送符合 json格式的字符串数据,客户端获取后转为json对象
客户端
parse用于从一个字符串中解析出json对象,
var str = ‘{“name”:”huangxiaojian”,”age”:”23”}’
str.name //underfined str是字符串
JSON.parse(str) //Object {name: “huangxiaojian”,age: “23”}
str.name //huangxiaojian str变为对象
stringify()用于从一个对象解析出json字符串
var a = {a:1,b:2}
JSON.stringify(a) //”{“a”:1,”b”:2}”
服务器端返回的json是字符串,需要js将字符串转换为json对象(JSON.parse)
ajax只能传字符串,ajax获取来的实际都是字符串。
jquery 获取到数据的时候,在回调函数执行前根据你的 datatype 来做了对数据的处理。所以很多时候jquery得到json对象
个人理解,如有异议请提出~