相关文章介绍Json:
http://www.cnblogs.com/snowinmay/archive/2013/05/26/3099799.html
通过AJAX进行理解:
$(function(){
$.ajax({
type : "POST",
url : "json.php",
data : {
'name' : "suoz",
'email' : "Web_wly0710@163.com",
'age' : 20
},
// dataType : 'json',
success : function(data){
alert(data);
var arr = $.parseJSON(data);
alert(arr['number']['gl']);
},
});
});
PHP接收数据:
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$age = $_POST['age'];
$arr = array(
'name' => $name,
'email' => $email,
'age' => $age,
'number' => array(
'1' => '111',
'2' => true,
'gl' => false
),
'text' => array(1,2,3)
);
$str = array($name,$email,$age);
$arr = json_encode($arr);
$str = json_encode($str);
print_r($arr);
?>
索引数组str:["suoz","Web_wly0710@163.com","20"]
因为在PHP中str为索引数组,在json格式中编码为[]
关联数组arr : `{"name":"suoz","email":"Web_wly0710@163.com","age":"20","number":{"1":"111","2":true,"gl":false},"text":[1,2,3]}`
因为在PHP中arr为关联数组,而在javascript中没有关联数组这么一说,此时用{}对象表示。
总结:
如果在ajax中使用dataType:’Json’,在ajax返回结果后不需要在对返回的数据进行解析$.parseJSON()。
在PHP中使用了数组,而通过json_encode()将数组编码为json格式(JS字符串形式),在将该字符串形式返回给客户端,此时客户端只需要解析,即将js字符串形式转换为js对象形式,在通过调用即可。
相对XML来说,JSON简洁方便,不像xml中还需要树和结点的遍历。
array( 1 , 2 , 3 ) => [ 1 , 2 , 3 ]
array(“1”,”2”,”3”) => [“1”,”2”,”3”]最后一个重点,一定要在localhost下ajax,不要像我一样粗心,一直返回php的源代码,死活找不到错误。