getJSON 响应处理

getJSON response handling

这是我的 Javascript 代码来处理 getJSON 的响应:

$.getJSON(url, {
            userID:userID,
            unique:unique
        }, function(response) {
            alert(JSON.stringify(response));
           if(response.connection_status == true) {
               alert(response.connected_friends[0].id);
           }
        });

第一个警报确实触发并给了我这个:

{ "connection_status":true,
  "hasResults":true,
  "connected_friends":{
    "id":"1055",
    "name":"My Name"
  }
}

为什么我的第二条提醒没有显示?

我在这里错过了什么?

你应该做

response.connected_friends["id"]

response.connected_friends.id

因为它是一个对象而不是数组

您可能期望 array,但 API 也可能 return 和 object,因此您必须处理这两种情况。

if(response.connected_friends instanceof Array && response.connected_friends.length) {
   alert(response.connected_friends[0].id);
else {
   alert(response.connected_friends.id);
}