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<String,Object> models){//可以通过map来接收json数据
       //获取主表和附表的信息
      TFoodJhtzMainVO    tFoodJhtzMainVO=JSON.parseObject(models.get("main").toString(),TFoodJhtzMainVO.class); //获取出来的json字符串转换成相对应的对象
     List<TFoodJhtzSubVO>  tFoodJhtzSubVOList=new ArrayList<TFoodJhtzSubVO>();
      tFoodJhtzSubVOList=JSON.parseArray(models.get("sub").toString(), TFoodJhtzSubVO.class); //获取出来的json list形式的字符串转换成list形式的对象
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值