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

本文介绍了如何使用Java接收以application/x-www-form-urlencoded格式发送的JSON数组数据。

实现方法:

  1. 在Java中定义一个POJO类,用于接收JSON数据。
public class MyData {
    private String name;
    private int age;
    // getter和setter方法
}
  1. 在Controller中使用@RequestBody注解接收JSON数据。
@RestController
public class MyController {
    @PostMapping("/mydata")
    public String receiveData(@RequestBody List<MyData> dataList) {
        // 对接收到的数据进行处理
        return "success";
    }
}
  1. 发送POST请求时,设置Content-Type为application/x-www-form-urlencoded,并将JSON数据转换为字符串。
var data = [
    {name: 'John', age: 25},
    {name: 'Mary', age: 30},
    {name: 'Peter', age: 35}
];
var xhr = new XMLHttpRequest();
xhr.open('POST', '/mydata', true);
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhr.send('data=' + JSON.stringify(data));
  1. 在服务器端,使用@RequestBody注解接收数据,并使用Jackson库将JSON字符串转换为Java对象。
@RestController
public class MyController {
    @PostMapping("/mydata")
    public String receiveData(@RequestBody String data) throws IOException {
        ObjectMapper mapper = new ObjectMapper();
        List<MyData> dataList = mapper.readValue(data, new TypeReference<List<MyData>>() {});
        // 对接收到的数据进行处理
        return "success";
    }
}

注意:

  • 使用application/x-www-form-urlencoded格式发送JSON数据时,需要将JSON数据转换为字符串,并将其作为请求参数发送。
  • 在服务器端使用@RequestBody注解接收数据,并将接收到的字符串使用Jackson库转换为Java对象。
  • 确保在项目中引入Jackson库,并添加相应的依赖项。
Java接收application/x-www-form-urlencoded格式的JSON数组数据

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

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