无法在Javascript中解析PHP生成的JSON

时间:2013-09-06 07:55:57

标签: php javascript json

我有一个PHP脚本,它返回一个JSON字符串。

<?php
$arr = array(
'id' => '1',
'myarray' => array(
array('a' => 'a1', 'b' => 'b1', 'c' => 'c1', 'd' => 'd1'),
array('a' => 'a2', 'b' => 'b2', 'c' => 'c2', 'd' => 'd2')
)
);

echo json_encode($arr);
?>

解析JSON的javascript代码是

  $.ajax({
        dataType: "json",
        url: "http://www.something.com/sendJson.php"
    }).done(function(json) {
        data = jQuery.parseJSON(json);
        alert(data['id']);
    });

但是对于上面的代码,我收到了这个错误

SyntaxError: JSON Parse error: Unexpected identifier "object"

可能导致此错误的原因是什么?

1 个答案:

答案 0 :(得分:5)

问题是你的ajax电话。你有dataType: "json",这意味着你的字符串已经在回调中被解析了。 所以:

 $.ajax({
    dataType: "json",
    url: "http://www.something.com/sendJson.php"
 }).done(function(json) {
    alert(json['id']);
 });