Java接收application/x-www-form-urlencoded格式的JSON数组传值
可以使用Java中的HttpServletRequest对象来接收application/x-www-form-urlencoded的JSON数组传值。
首先,需要在前端将JSON数组转换为字符串,并以key-value的形式传递给后端。例如:
var jsonArr = [{'name': 'John', 'age': 20}, {'name': 'Mary', 'age': 25}];
var jsonData = JSON.stringify(jsonArr);
var formData = new FormData();
formData.append('json', jsonData);
$.ajax({
url: '/api',
type: 'POST',
data: formData,
processData: false,
contentType: false,
success: function(response) {
// 处理响应
},
error: function(error) {
console.log(error);
}
});
在后端,可以通过HttpServletRequest对象来获取传递的JSON数组。例如:
@RequestMapping(value = "/api", method = RequestMethod.POST)
@ResponseBody
public String handleRequest(HttpServletRequest request) throws IOException {
String jsonData = request.getParameter("json");
ObjectMapper mapper = new ObjectMapper();
List<Map<String, Object>> jsonList = mapper.readValue(jsonData, new TypeReference<List<Map<String, Object>>>() {});
// 处理JSON数组
return "success";
}
在上面的例子中,使用ObjectMapper将传递的JSON字符串转换为List<Map<String, Object>>类型的JSON数组。然后可以对该数组进行处理。
原文地址: https://www.cveoy.top/t/topic/nH2P 著作权归作者所有。请勿转载和采集!