好吧,我有以下JSON代碼:計數JSON節點不工作
{
"productDetails": {
"productThumb": "/uploads/[email protected]/showup-bg4.jpg",
"productName": "Hamburger",
"productDesc": "Made with 100% American ground beef",
"productPrice": "9.99",
"productModifiers": [{
"Sides": [{
"modifierName": "Applesauce",
"modifierUpcharge": "0",
"isDefault": "off"
},{
"modifierName": "Rice",
"modifierUpcharge": "0",
"isDefault": "off"
}],
"Toppings": [{
"modifierName": "Bacon",
"modifierUpcharge": "0.25",
"isDefault": "off"
}, {
"modifierName": "Tomato",
"modifierUpcharge": "0",
"isDefault": "on"
}],
"Doneness": [{
"modifierName": "Extra Well",
"modifierUpcharge": "0",
"isDefault": "off"
},{
"modifierName": "Well",
"modifierUpcharge": "0",
"isDefault": "off"
}],
"Breads": [{
"modifierName": "White Bun",
"modifierUpcharge": "0",
"isDefault": "on"
}, {
"modifierName": "Whole Wheat Bun",
"modifierUpcharge": "0",
"isDefault": "off"
}]
}]
}
}
我跑它通過jsonlint.com並驗證它回來作爲有效的JSON。在我的jQuery,我有以下代碼:
$.ajax({
url: "/getItemDetails/"+productType+"/"+productID,
type: "get",
data: ({productType:productType, productID:productID}),
dataType: "json",
success: function(data) {
var numMods = data.productDetails.productModifiers.length;
console.log("There are "+numMods+" categories of modifiers.");
}
});
由於某些原因,但是,我的console.log返回爲未定義。基本上,我需要知道productModifiers節點內有多少「類別」。所以在這種情況下,它應該返回4(側面,澆頭,完整和麪包)。我似乎無法弄清楚我缺少的東西,這將使我能夠弄清楚有多少個子節點
這對於獲取節點數量非常有用。這就是說 - 我怎麼能訪問實際的節點名稱? (即:面,面,面,麪包)。 –
@JohnHubler Object.keys(json.productDetails.productModifiers [0])將包含節點名稱。只需在獲取其長度之前將其保存到變量:) – matt