需求:后台接收json对象
js代码如下:
function ss(){
var sss = JSON.stringify({"datas":[{"name":"小红", "password":"12231123"},{"name":"小黑s", "password":"12231123"}],
"data":{"orderNumber":"123222", "name":"三星"}});
$.ajax({
type:'post',
url: path+'/RoadTestController/saveRoadTest.do',
dataType:'json',
async: true,
data: {"date":sss},
success:function(result){
}
});
}
controller代码如下: */
@RequestMapping("saveRoadTest")
public ModelAndView saveRoadTest(HttpServletRequest request,HttpServletResponse response){
String jsonStr = request.getParameter("date");
JSONObject RoadTest = JSONObject.fromObject(jsonStr).getJSONObject("data");
JSONArray RoadTestDetails = JSONObject.fromObject(jsonStr).getJSONArray("datas");
int result = 0;
String msg = "";
if(RoadTestDetails.size()!=0){
List<RoadTestDetails> detailsList = new ArrayList<RoadTestDetails>();
for(int i=0;i<RoadTestDetails.size(); i++){
JSONObject jsonJ = RoadTestDetails.getJSONObject(i);
RoadTestDetails rtd= new RoadTestDetails();
rtd.setName(jsonJ.getInt("name"));
rtd.setPassword(jsonJ.getString("password"));
}
boolean istrue = appService.insertRoadTestDetails(detailsList);
if(istrue){
result = 1;
if(RoadTest.size()!=0){
List<RoadTest> list = new ArrayList<RoadTest>();
RoadTest rt = new RoadTest();
rt.setOrderNumber(RoadTest.getString("orderNumber"));
rt.setName(RoadTest.getString("name"));
boolean isTrue = appService.insertRoadTest(list);
if(isTrue){
result = 1;
}else{
result = 0;
msg = "上传数据失败!";
}
}
}else{
msg = "上传数据失败!";
}
}else{
msg = "上传数据为空!";
}
MappingJackson2JsonView view = new MappingJackson2JsonView();
Map<String, Object> attributes = new HashMap<String, Object>();
attributes.put("result", result);
attributes.put("message", msg);
view.setAttributesMap(attributes);
ModelAndView model = new ModelAndView();
model.setView(view);
return model;
}