我第一次接触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);
});
});
有些人可以指出我正确的方向吗
答案 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);
});
});
答案 2 :(得分:1)
当您需要值时,您正在使用属性名称。
jQuery.each( collection, callback(indexInArray, valueOfElement) )
因此,您可以看到日期的原因是它是属性名称。你想要:
$.each(data.response, function(thisDate, valueOfElement){
alert(thisDate, valueOfElement);
});