springmvc ajax-json提交 多个参数提交并转化成对象

var data = $("#jhtzmxTableList").bootstrapTable("getData");
//判断实际数量不能大于进货数量
var main=decodeURIComponent($("#jhtzForm").serialize(),true);
//提交数据值 
$.ajax({
type: "POST",
             data: JSON.stringify({"main":formToJson(main),"sub":JSON.stringify(data)}),
             contentType:   "application/json",
             dataType: "json",
             url:Common.basePath() + "/jhtzController.do?onSaveJhtz",
             success:function(data){
                  //TabUtils.closeTab();关闭暂时先不行
      }
  });

 //将从form中通过$('#form').serialize()获取的值转成json
function formToJson(data) {
  data=data.replace(/&/g,"\",\"");
           data=data.replace(/=/g,"\":\"");
           data="{\""+data+"\"}";
           return data;
    }
SpringMVC 接收数据
import com.alibaba.fastjson.JSON; (所需要的类)
public JsonMsgModel onSaveJhtz(@RequestBody Map models){//可以通过map来接收json数据
       //获取主表和附表的信息
      TFoodJhtzMainVO    tFoodJhtzMainVO=JSON.parseObject(models.get("main").toString(),TFoodJhtzMainVO.class); //获取出来的json字符串转换成相对应的对象
     List  tFoodJhtzSubVOList=new ArrayList();
      tFoodJhtzSubVOList=JSON.parseArray(models.get("sub").toString(), TFoodJhtzSubVO.class); //获取出来的json list形式的字符串转换成list形式的对象
}

注意:json格式的是{name:value}而不是用等号(=)
方法:数据序列化如果出现乱码   加上decodeURIComponent('数据',true);
          JSON.stringify()    json转换成json字符串

你可能感兴趣的:(springmvc)