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,function(i,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],function(i,item){...})
}
这个问题应该是JSONObject底层封装了map的原因
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。