我的影片格式一些像這樣的JSON數據:查詢嵌套JSON
{
"id": "ABC123",
"offerPrice": 42.00,
"regularPrice": 42.00,
"variations": [{
"key": "Style",
"value": "Black"
}, {
"key": "Personalization",
"value": "2 Lines of Personalization"
}]
}, {
"id": "987ZYX",
"offerPrice": 52.00,
"regularPrice": 52.00,
"variations": [{
"key": "Style",
"value": "Black"
}, {
"key": "Personalization",
"value": "3 Lines of Personalization"
}]
}
我需要做的就是查詢的「變化」陣列的內部值,如果發現匹配返回的對象。
我能夠查詢值的「第一級」就好:
var results = jQuery.grep(obj, function (element, index) {
return element.offerPrice == "42.00";
});
,我可以查詢變化如果我指定的索引值(我顯然不希望這樣做) :
var results = jQuery.grep(obj, function (element, index) {
return element.variations[1].key == "Personalization" && element.variations[1].value == "2 Lines of Personalization";
});
這是理想我想這樣做,但它不工作:
var results = jQuery.grep(obj.variations, function (element, index) {
return element.key == "Personalization" && element.value == "2 Lines of Personalization";
});
我不斷收到:
Uncaught TypeError: Cannot read property 'length' of undefined
這裏有一個的jsfiddle:http://jsfiddle.net/VzqWW/3/
任何想法?
您將需要使用.grep兩次。 – 2013-03-07 23:06:49
您期望輸出的結構是什麼? – MattDiamant 2013-03-07 23:09:59
我以爲我得到了嵌套greps的地方,但這會返回所有的對象http://jsfiddle.net/59RGE/(對不起,這是無益的 - 已被稱爲離開,但認爲我的火腿嘗試可能會給你一個線索) – Jon 2013-03-07 23:12:59