处理原因
1,在spring mvc 框架下,使用ajax从后台返回json集合数据(数组)很简单,只需要在方法上加上 @ResponseBody ,内容可以是map,list 等等。
2,而通过ajax从前台将json集合数据(或数组),无法通过spring mvc自动转换为数组,查了很久都没有查出来。后来通过json的页面,找出了处理办法。不不
处理代码:
1,前台需要使用如下方式,将json对象转换为字符串(相关的处理代码很多地方可以下载,我就不写了)。
转换后的字条串如:var strUsers = '[{userId:1101,userName:liming,password:123456},{userId:1102,userName:liming2,password:1234567},]'
2,Ajax调用时,使用如下方式访问后台,如:
$.ajax({
type: "post",
async:false,
url : "user.do?method=saveUser" //url
data:"&users=" +strUsers
});
3,服务端处理:
a,服务端需要加载的包为:json-simple-1.1.jar
b,//使用得到users的字符串,
String users = request.getParameter("users");
//使用json转换为json对象
Object objusers=JSONValue.parse(users );
//转换为json数组
JSONArray userArrays = (JSONArray) objusers;
for (int i = 0; i < userArrays .size(); i++) {
JSONObject jsonObject = (JSONObject) array.get(i);
for (Object key : jsonObject.keySet()) {
log.info("key:" + key + ",value:" + jsonObject.get(key));
}
}
若要转换为自己的对象可以在转换后的数据里面进行处理。
4.若需要源码,以及相关的json jar包,可以跟我联系。