$.getJSON("/commu/dynamicIndexFriend.do",function(data){
var test="<div>实验数据";
$.each(data,function(list,object){
$.each(object,function(k,v){
test+=v['dynamicType'];

});
});
test+="</div></br>";
  $("#span_text").append(test);
});
json的arrayList数组结构:(大致是这个样子,因为使用net.sf.json.JSONArray 直接转换的,我只能根据arrayList的样子大致推断json的样子)
{
  {dynamicId 001,dynamicType "1",dynamic "a"}
  {dynamicId 002,dynamicType "2",dynamic "ab"}
  {dynamicId 003,dynamicType "3",dynamic "ag"}
  {dynamicId 004,dynamicType "4",dynamic "agd"}
}
我这么遍历后,v根本就没有值,显示为undefined,但如果使用alert(v);可以循环取出其中的值。那位大大能给我讲下json的arrayList数组遍历?不胜感激。

解决方案 »

  1.   

    var a = [
      {dynamicId:001,dynamicType:"1",dynamic:"a"},
      {dynamicId:002,dynamicType:"2",dynamic:"ab"},
      {dynamicId:003,dynamicType:"3",dynamic:"ag"},
      {dynamicId:004,dynamicType:"4",dynamic:"agd"}
    ];
    for(var i=0;i<a.length;i++){
        alert(a[i].dynamicId);
    }
      

  2.   

    谢谢楼上,不过公司里需要使用jquery的each循环
      

  3.   

    $.each(data,function(list,object){
    $.each(object,function(k,v){
    if(k == 'dynamicType')
     test+=v;
    });$.each(obj,callback)方法中,回调函数中第二个参数为对应变量或内容。
      

  4.   


    请问,不能像java 的HashSet 一样使用键值对吗,也就是通过 k 键找到对应的 v值?
      

  5.   

    谢谢,解决了,我循环得过了头,不需要第二重循环,第一重循环后直接使用object['dynamicType']即可。
      

  6.   


    原生的方式就很简单了,为什么一定要用jquery?
    如果这是公司规定,那就让他改公司规定吧
      

  7.   

    $.each(data,function(list,object){
    test += obj['dynamicType'];
    });
    那你直接一个each方法就行了。