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的原因

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。