我有一个JSON对象
{
"Data": [
{
"Iden": "12",
"Date": "01/23/2011",
"City": "Clearwater",
"State": "FL"
},
{
"Iden": "12",
"Date": "02/09/2012",
"City": "Elgin",
"State": "IL"
},
{
"Iden": "00010-LV01-12",
"Date": "06/22/2010",
"City": "Newport Beach",
"State": "CA"
}
]
}
如您所见,它有3行4列。如何在jquery中使用.each迭代这个对象?
我试过了:
$.each(Data, function () {
但它只进行了第一次迭代
答案 0 :(得分:1)
您需要使用嵌套循环。像这样:
jQuery.each( Data, function( ) {
// `this` now points to the row of data
jQuery.each( this, function( key, value ) {
// process here
} );
} );
编辑:更改内部回调以使用key, value
作为参数 - 更适用于此方案。
答案 1 :(得分:1)
jQuery.each()
可以迭代数组,地图/对象,但函数参数在每种情况下的含义略有不同:
$.each(Data.Data, function(i) {
// 'this' is the array element, i is the index
$.each(this, function(key, value) {
// 'this' is the value of the object item
// key is the map/object key, value is value
});
});
值得注意的是,this
始终采用对象格式,即使它是字符串或数字。
答案 2 :(得分:0)
如果这是在ajax请求中,例如
$.getJSON( url, function ( data){
/* main JSON object is data, array Data is inside main object, need to iterate over it*/
$.each( data.Data, function(key, item){
$('body').append( '<p>'+item.City +', '+item.State+'</p>');
})
})
答案 3 :(得分:0)
您还可以尝试使用$.map
获取数据