JSONObject动态put之后jquery中获取不到的问题!
一般都是这样用json,JSONObject传很多不同类的东西,JSONArray用来传一类数组; 在action中这样: import net.sf.json.JSONObject; public class test extends ActionSupport implements SessionAware{ private JSONObject jsonObject = new JSONObject(); private JSONArray jsonArray = new JSONArray(); //setter and getter jsonObject.put("test",list); jsonArray.addAll(需要交互的数组); } 在jsp中这样 $.getJSON("/test.action",function(data){ $.each(data,function(i,item){ ...操作; //其中data,就是传回来的数据,如果是JSONObject,put进来的话取的方式和map取值一样,即$.each(data.test,item){...}) }); }); 但是,在一个复杂业务时用到了JSONObject动态put, for(int i = 0;i < 10 ;i ++ ){ //在这取了个list jsonObject.put("key"+i,list); } 之后在jsp中其他取值没问题,就这些动态的取不出来,后来经过老大提醒改为: for(int i = 0;i < 10 ;i ++){ $.each(data[key+i],item){...}) } 这个问题应该是JSONObject底层封装了map的原因 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |