php中有json_encode($arr);还有json_decode($str,assoc); 其中assoc为true则返回数组而不是对象
很简单的用法
<?php
//手册中的例子
$arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);
echo json_encode($arr);
//output {"a":1,"b":2,"c":3,"d":4,"e":5}
?>
这样做的好处是,直接把数组写成一个可以被js直接使用的对象
到js可以这样使用:
var arr = $output;
alert(arr.a);
注意:encode必须是utf8的.
decode就是解码,把json转成object||array.
zend_json中还有一个json方面的扩展.zend_json::fromXml().将xml解析成json.
下面是一个ajax的json简单应用
var req = new XMLHttpRequest();
req.onreadystatechange = myHandler;
req.send(/*no params*/null);
function myHandler() {
if (req.readyState == 4 /*complete*/) {
var addrField = document.getElementById('addr');
var card = eval('(' + req.responseText + ')');
addrField.value = card.addresses[0].value;
}
}