基本上我正在將JSON結果轉換爲html,並使用$ .each它遍歷多個鍵。例如,我拉回了Facebook的帖子,並在該帖子中反覆討論。
問題出在這樣一個事實,即當有多個「喜歡」時,一切都很好用!雖然當只有1個「喜歡」的時候,「源」鍵會從結果集中刪除,而我的JavaScript會因爲我期望它在那裏而中斷。任何想法爲什麼$ .each跳過單個節點的級別?以下是我的代碼:
* ** JQUERY
$.each(post.likes.item, function(i, like){
$(currentpost).find('div.cc_likes').append(like + ',');
console.log(like)
});
* JSON結果**
*單像
likes": {
"item": {
"source": {
"cta": "Mary Smith",
"url": "http:\/\/www.facebook.com\/",
"photo": {
"image": "https:\/\/graph.facebook.com\/"
}
}
},
結果在控制檯:
Object
cta: "MaryAnn Smith"
photo: Object
url: "http://www.facebook.com/"
*多喜歡在控制檯
"likes": {
"item": [
{
"source": {
"cta": "Bobby Carnes Sr.",
"url": "http:\/\/www.facebook.com",
"photo": {
"image": "https:\/\/graph.facebook.com\"
}
}
},
{
"source": {
"cta": "Jenna Purdy",
"url": "http:\/\/www.facebook.com\",
"photo": {
"image": "https:\/\/graph.facebook.com\"
}
}
},
{
"source": {
"cta": "Kevin Say",
"url": "http:\/\/www.facebook.com\",
"photo": {
"image": "https:\/\/graph.facebook.com\"
}
}
}
],
"count": "10",
"count_display": "10"
},
結果:
Object
source: Object
cta: "Kevin Smith"
photo: Object
url: "http://www.facebook.com/"
您應該將您的JSON更改爲始終使用數組。這使得一切都更簡單。 – SLaks
你應該像單獨處理單一的情況 –
除非你被它當作單個對象時被卡住,在這種情況下,你需要測試它是否有一個長度屬性,然後將它傳遞給$ .each –