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