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

Java 发表评论

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字符串

发表评论

电子邮件地址不会被公开。 必填项已用*标注

昵称 *