先来写一个一对多的json
var contractDetail = {
"pname":"京城中心",
"price":"125",
"num":123
};
var contractDetails = [];
for(var i = 0;i<10;i++){
contractDetails.push(contractDetail);
}
var InContract = {
"name":"张三",
"cname":"蓝天集团",
"total":"30",
"payType":20,
"finalOrder":"蓝天集团",
"remarks":"备注",
"contractDetailAdmin":contractDetails
};
这个结果是
{"name":"张三","cname":"蓝天集团","total":"30","payType":20,"finalOrder":"蓝天集团","remarks":"备注","contractDetailAdmin":[{"pname":"京城中心","price":"125","num":123},{"pname":"京城中心","price":"125","num":123},{"pname":"京城中心","price":"125","num":123},{"pname":"京城中心","price":"125","num":123},{"pname":"京城中心","price":"125","num":123},{"pname":"京城中心","price":"125","num":123},{"pname":"京城中心","price":"125","num":123},{"pname":"京城中心","price":"125","num":123},{"pname":"京城中心","price":"125","num":123},{"pname":"京城中心","price":"125","num":123}]}
想把这个一对多的字符串传到controller,我是用的实体类接的,实体类中在套一个对应多的实体类集合
实体类是这样的
private String iFlowNumber;
private String name;
private String cname;
private String total;
private Integer payType;
private String finalOrder;
private String remarks;
private String contractImg;
private String addPeople;
private String addTime;
private String updatePeople;
private String updateTime;
List<ContractDetailAdmin> contractDetailAdmin;
另一个是这样的(都别忘了加上构造 get set hashcode啥的)
private String cFlowNumber;
private String pname;
private String price;
private Integer num;
json的key一定一定要和实体类对应上,否则肯定400
随后就是ajax
$.ajax({
type: "post",
url: "../***/***.do",
contentType: "application/json;charset=utf-8",//请求头必须加
async:"true",
dataType:"json",
data:JSON.stringify(InContract),//json对象要转换一下
success: function(result) {
}
});
然后controller接收
@RequestMapping("/***.do")
@ResponseBody
public String addContract(@RequestBody InContractAdmin inContractAdmin,HttpSession session) {
return “”;
}
//@RequestBody必须要加 后台请求BODY注解 是吧请求的body中的内容按JSON转换
然后就为所欲为吧哈哈!小白一枚,多多指教,好使了留个赞哈!