记录下在前端通过ajax提交了一个json数组的字符串,在后端如何转换为列表。
前端数据转化与请求
var contracts = [
{id: '1', name: 'yanggb合同1'},
{id: '2', name: 'yanggb合同2'},
{id: '3', name: 'yanggb合同3'},
{id: '4', name: 'yanggb合同4'},
{id: '5', name: 'yanggb合同5'}
];
$.ajax({
type: 'post',
url: 'contract\save',
data: {contracts: JSON.stringify(contracts)},
success: function() {
console.log('保存合同成功!');
}
});
前端通过JSON.stringify()方法将数组转换为JSON数组字符串。
后端接受请求与数据转换
@PostMapping(value = "/contract/save")
@ResponseBody
public void saveContracts(String contracts) {
List<Contract> contractList = JSON.parseArray(contracts, Contract.class);
// 保存操作
}
后端就是通过JSON.parseArray()方法将JSON数组字符串转为列表,该方法接受两个参数,第一个参数是JSON数组字符串,第二个参数是要转换成的对象实体类的签名。