我正在为我的社交网络开发气球通知。当有2个或更多通知时,我遇到了这个错误。我在 jsonlint.com 上检查了我的JSON响应,我在第6行得到了错误。

JSON响应:

    {
    "nid": "1101",
    "img": "<img src=\".\/images\/icons\/he_wall_post_icon.png\">",
    "notifier": "Sarah O&#039;conner",
    "url": " has commened on your <a href=\"wall_action.php?id=1463\">post<\/a>"
}{
    "nid": "1100",
    "img": "<img src=\".\/images\/icons\/he_wall_post_icon.png\">",
    "notifier": "Sarah O&#039;conner",
    "url": " likes your <a href=\"wall_action.php?id=1463\">post<\/a>"
}
.

这是我的php部分:

$ret_arr = array('nid' => $nid2,'img' => $img, 'notifier' => $notifier, 'url' => $url);

echo json_encode($ret_arr);
.

这是我的JS部分:

    function noob()
{
    jQuery.ajax({
        url: 'notifications.php?n=1',
        dataType: 'json',
        success: function(data){
            alert('Success!');
        },
        error: function(requeset, textStatus, errorThrown){
            alert('error:'+textStatus);
        }
    });
}
.

如何完成这一点!

谢谢家伙。

有帮助吗?

解决方案

您的JSON缺少列表括号和对象之间的逗号。

应该看起来像:

[
  {
    "nid": "1101",
    "img": "<img src=\".\/images\/icons\/he_wall_post_icon.png\">",
    "notifier": "Sarah O&#039;conner",
    "url": " has commened on your <a href=\"wall_action.php?id=1463\">post<\/a>"
  },
  {
    "nid": "1100",
    "img": "<img src=\".\/images\/icons\/he_wall_post_icon.png\">",
    "notifier": "Sarah O&#039;conner",
    "url": " likes your <a href=\"wall_action.php?id=1463\">post<\/a>"
  }
]
.

其他提示

复制并粘贴到 jsonlint - 这是一个json验证器,向您展示您的问题以及是否有效。

matthew是对的,这只是一个提示,如果你下次遇到同样的问题,如何找到它。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top