用jQuery循环遍历对象

时间:2012-05-23 00:43:03

标签: jquery json loops

我第一次接触JSON,我在迭代对象时遇到了问题。

JSON的格式如下:

{
    "response": {
        "2012-01-01": {
            "Available": 99,
            "Variations": [
                {
                    "ID": 43,
                    "InternalItemID": "Adult",
                    "Price": "49.00"
                }
            ]
        },
        "2012-01-02": {
            "Available": 99,
            "Variations": [
                {
                    "ID": 43,
                    "InternalItemID": "Adult",
                    "Price": "49.00"
                }
            ]
        }
   }
}

我能够访问日期,但无法深入了解日期。我需要所有的价值观:

$.getJSON(jsonurl, function(data){


            $.each(data.response, function(thisDate){
                alert(thisDate);
            });
        });

有些人可以指出我正确的方向吗

3 个答案:

答案 0 :(得分:2)

$.each将每个键的值作为第二个参数传递给回调。

$.each(data.response, function(date, value) {
    // value.Available
});

答案 1 :(得分:2)

$(function(){
    $.each(data.response, function(index,item){
            alert(item.Available);
            var child=item.Variations;
            alert(child[0].Price);
    });
});

工作样本http://jsfiddle.net/d84nj/10/

答案 2 :(得分:1)

当您需要值时,您正在使用属性名称。

jQuery.each( collection, callback(indexInArray, valueOfElement) )

因此,您可以看到日期的原因是它是属性名称。你想要:

$.each(data.response, function(thisDate, valueOfElement){
    alert(thisDate, valueOfElement);
});