JSONObject动态put之后jquery中获取不到的问题!

前端之家收集整理的这篇文章主要介绍了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的原因

猜你在找的Json相关文章