如果List<String, List<string>>  里面的List中数据是string格式我可以通过两个for循环获取到string的值,像下面写的:function A(data){
  for(var key in data){
     for(var i=0;i<key[i].length;i++){
         alert(data[key][i]);
}
}
}但是如果换成List<List<DATA>>  ,DATA是一个对象,DATA里包含多个数据,用上面的方法就获取不到值了public class DATA{
    private int long;
    private int height;
}怎样通过dwr获取DATA中long的值呢?

解决方案 »

  1.   

    用firebug监视下请求返回的json字符串格式,用点操作符直接取就行了,根本不需要for来遍历
      

  2.   

    我现在测试的时候返回的是JSONArray,里面存了4组list<DATA>,DATA里有不同的long,heigth值,在dwr里测试,只能返回[[Object,Object,Object,Object]],里面取不到值,为什么呢?
      

  3.   

    本帖最后由 showbo 于 2013-07-11 14:11:24 编辑
      

  4.   

    我现在在java里测试是这样写的public JSONArray gatdata(int time){ List<DATA>  listguiyuan = new ArrayList<data>();
    //组装数据
    DATA guidata1= new DATA(19,11);
    DATA guidata2= new DATA(17,22);
    DATA guidata3= new DATA(79,33);
    DATA guidata4= new DATA(9,44);

    listguiyuan.add(guidata1);
    listguiyuan.add(guidata2);
    listguiyuan.add(guidata3);
    listguiyuan.add(guidata4);

    ArrayList Grandelist = new ArrayList();
    Grandelist.add(listguiyuan);

    return JSONArray.fromObject(Grandelist);

    }我刚试了你的方法,但是只获得了一组数据,而我在java中传了4组数据,alert(data.length;也是1 ?
      

  5.   

     Grandelist只添加了一个List<data>,只有一项而已(猜测为数组对象),长度当然为1直接return JSONArray.fromObject(listguiyuan);应该就是4了不是告诉你了用json2.js将json序列化为对应的json字符串看结构,要不结构不知道当然无法取
      

  6.   

    firebug里获得了4组数据,但是alert( JSON.stringify(data));只得到了第一组数据?怎样得到4组信息呢?而且我想遍历得到4组信息里的long值,求解答啊~~
      

  7.   

    return JSONArray.fromObject(listguiyuan);是4了,但是还是只能得到第一组数据啊
      

  8.   

    哦,知道了data[i]循环就取到4组值了,谢谢你了~
      

  9.   

    有个问题啊,如果我改成return JSONArray.fromObject(listguiyuan),那么最外面一层我定义的ArrayList Grandelist = new ArrayList();  岂不是没有用了啊
      

  10.   

    如果改成返回List的话呢?还是读不到值,怎么办啊,高手快出现吧~~~public List gatdata(int time){
     
        List<DATA>  listguiyuan = new ArrayList<data>();
            //组装数据
            DATA guidata1= new DATA(19,11);
            DATA guidata2= new DATA(17,22);
            DATA guidata3= new DATA(79,33);
            DATA guidata4= new DATA(9,44);
         
            listguiyuan.add(guidata1);
            listguiyuan.add(guidata2);
            listguiyuan.add(guidata3);
            listguiyuan.add(guidata4);
             
        ArrayList Grandelist = new ArrayList();
        Grandelist.add(listguiyuan);
         
        return Grandelist;
         
    }
      

  11.   

    已经和你说了,要知道JSON的结构,看#5的怎么知道结构,知道结构了就容易读取了要不自己找java的内容看返回这种类型的json数据结构是怎么样的