0

我有一个返回 JSON 字符串的 php 脚本。

<?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"

什么可能导致此错误?

4

1 回答 1

5

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

 $.ajax({
    dataType: "json",
    url: "http://www.something.com/sendJson.php"
 }).done(function(json) {
    alert(json['id']);
 });
于 2013-09-06T08:05:53.460 回答