前台将数据汇总之后通过ajax发送到后台,如果前台将数据汇总为json对象,那么后台怎么接收?如果前台将数据汇总为json数组,那么后台怎么接收?,如果前台将数据汇总为数组,那么后台怎么接收?带着这些疑问,我们开始一一来解决
注:
1.在接收json格式的数据的时候我们需要导入相应的jar包,本文用的是:fastjson,另外还有其他的jar包,如:开源的Jackson,Google的Gson,json-lib等
2.本列使用的是JFinal框架
1.汇总为json数组格式
当前台绘制数据为json数组的格式,那么后台接收代码如下:
String jsonStr = getPara("user");
User users = JSON.parseArray(jsonStr, User.class);
这样就可以将json数组格式的数据转换为对应的实体类供我们使用了
注:前台拼接数组的时候要与实体类中的元素一一对应,这样才可以转换为对应的实体类
2.汇总为json对象格式
当前台绘制数据为json对象的格式,我们要先将数据转换为json对象,在将对应的json对象转换为实体类,代码如下:
String jsonStr = getPara("user");
JSONObject jsonObject = JSONObject.parseObject(jsonStr);
User user = JSONObject.toJavaObject(jsonObject, User.class);
3.汇总为数组
注:当使用ajax提交数组的时候,需要在ajax中添加traditional: true这个字段,即:
$.ajax({
traditional: true,
type : 'POST',
data : { },
url : "personalInfoController.do?SendMSG",// 请求的action路径
error : function() {// 请求失败处理函数
},
success : function(data) {}
});
接收前台传递过来的数组格式的数据,代码如下:
String[] array = getParaValues("key");
然后将对应的数组转换为自己需要的数据格式即可
网友评论