我有一个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"
可能导致此错误的原因是什么?
答案 0 :(得分:5)
问题是你的ajax电话。你有dataType: "json"
,这意味着你的字符串已经在回调中被解析了。
所以:
$.ajax({
dataType: "json",
url: "http://www.something.com/sendJson.php"
}).done(function(json) {
alert(json['id']);
});