如何在jquery中循环遍历json数组?

时间:2013-12-25 11:44:59

标签: jquery json loops

我有一个php页面,我在json中得到了回复:

[{'com':'something'},{'com':'some other thing'}]

我想循环它并将每个附加到div。

这就是我的尝试:

var obj = jQuery.parseJSON(response);
$.each(obj.com, function(key,value) {
  alert(key+':'+value);
}

此警报为undefined,响应为json数组..

请帮忙。

8 个答案:

答案 0 :(得分:45)

您的数组具有存储对象{'com':'some thing'}的默认键(0,1)  使用方法:

var obj = jQuery.parseJSON(response);
$.each(obj, function(key,value) {
  alert(value.com);
}); 

答案 1 :(得分:7)

试试这个:

var data = jQuery.parseJSON(response);
$.each(data, function(key, item) 
{
   console.log(item.com);
});

var data = $.parseJSON(response);

$(data).each(function(i,val)
 {
    $.each(val,function(key,val)
  {
          console.log(key + " : " + val);     
  });
});

答案 2 :(得分:2)

您正在迭代undefined值,即Array对象的com属性,您应该遍历数组本身:

$.each(obj, function(key,value) {
   // here `value` refers to the objects 
});

另请注意,jQuery会智能地尝试解析发送的JSON,可能您不需要解析响应。如果您使用的是$.ajax(),则可以将dataType设置为json,告诉jQuery为您解析JSON。

如果仍然无效,请检查浏览器的控制台以进行故障排除。

答案 3 :(得分:2)

var data=[{'com':'something'},{'com':'some other thing'}];
$.each(data, function() {
  $.each(this, function(key, val){
    alert(val);//here data 
      alert (key); //here key

  });
});

答案 4 :(得分:1)

你可以获得键值对

<pre>
function test(){    
var data=[{'com':'something'},{'com':'some other thing'}];    
$.each(data, function(key,value) {    
alert(key);  
alert(value.com);    
});    
}
</pre>

答案 5 :(得分:1)

试试这个:

for(var i = 0; i < data.length; i++){
    console.log(data[i].com)
}

答案 6 :(得分:1)

var data = [ 
 {"Id": 10004, "PageName": "club"}, 
 {"Id": 10040, "PageName": "qaz"}, 
 {"Id": 10059, "PageName": "jjjjjjj"}
];

$.each(data, function(i, item) {
   alert(data[i].PageName);
});​

$.each(data, function(i, item) {
  alert(item.PageName);
});​

否则你可以试试这个方法

var data = jQuery.parseJSON(response);
$.each(data, function(key,value) {
   alert(value.Id);    //It will shows the Id values
}); 

答案 7 :(得分:0)

试试这个

var events = [];

alert(doc);
var obj = jQuery.parseJSON(doc);

     $.each(obj, function (key, value) {

    alert(value.title);

});