我有一个PHP脚本,通过jQuery AJAX调用.我希望PHP脚本将JSON格式的数据返回给javascript.这是PHP脚本中的伪代码:
$json = "{"; foreach($result as $addr) { foreach($addr as $line) { $json .= $line . "\n"; } $json .= "\n\n"; } $json .= "}";
基本上,我需要在$ json中插入两个for循环的结果.
Php具有内置的JSON Serialising功能.
json_encode
json_encode
如果你可以并且没有遭受Not Invented Here综合症,请使用它.
以下答案中缺少以下几点:
在PHP中设置标题:
header('Content-type: application/json'); echo json_encode($array);
json_encode()
可以返回JavaScript 数组而不是JavaScript 对象,请参阅:
从PHP脚本返回JSON
在某些情况下,由于数组和对象不相同,因此这一点非常重要.
PHP的文档中有一个JSON部分.你需要PHP 5.2.0.
从PHP 5.2.0开始,JSON扩展默认捆绑并编译为PHP.
如果不这样做,这里是您可以安装的PECL库.
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($result)
这也将保留数组键.
请记住,json_encode仅适用于utf8编码的数据.