【问题标题】:how to loop through JSON array in jQuery?如何在 jQuery 中循环遍历 JSON 数组?
【发布时间】:2013-12-25 11:44:58
【问题描述】:

我有一个 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 数组..

【问题讨论】:

  • @KoIIIeY 没有显示任何警报..

标签: jquery json loops


【解决方案1】:

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

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

【讨论】:

  • 无论如何我都可以褪色?我在追加时使用了.hide().fadeIn(800);,但它会立即淡化整个东西,是否可以 1 逐 1 淡化?
  • 您必须在添加任何元素之后(在向用户提供控制权之前)重新绑定 event($(...).bind("") 或 attachEvent())。
  • 我想通了,我隐藏了所有的 div,然后在每个 div 上都做了一个淡入,无论如何谢谢 :D
  • 最后一行的语法错误:需要正确关闭 });
【解决方案2】:

试试这个:

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);     
  });
});

【讨论】:

  • 循环但显示 [object, object] 我也通过 ajax 调用获取 json
【解决方案3】:

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

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

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

如果还是不行,请检查浏览器控制台进行故障排除。

【讨论】:

    【解决方案4】:
    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
    }); 
    

    【讨论】:

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

      【讨论】:

        【解决方案6】:

        你可以得到键值对

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

        【讨论】:

        • 请在您的回答中添加一些解释。谢谢!
        【解决方案7】:

        试试这个:

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

        【讨论】:

          【解决方案8】:

          试试这个

          var events = [];
          
          alert(doc);
          var obj = jQuery.parseJSON(doc);
          
               $.each(obj, function (key, value) {
          
              alert(value.title);
          

          });

          【讨论】:

            猜你喜欢
            • 2015-07-22
            • 1970-01-01
            • 1970-01-01
            • 2011-04-26
            • 2021-04-26
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多