可以使用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数组。然后可以对该数组进行处理。

Java接收application/x-www-form-urlencoded格式的JSON数组传值

原文地址: https://www.cveoy.top/t/topic/nH2P 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录