Java接收application/x-www-form-urlencoded格式的JSON数组数据
Java接收application/x-www-form-urlencoded格式的JSON数组数据
本文介绍了如何使用Java接收以application/x-www-form-urlencoded格式发送的JSON数组数据。
实现方法:
- 在Java中定义一个POJO类,用于接收JSON数据。
public class MyData {
private String name;
private int age;
// getter和setter方法
}
- 在Controller中使用
@RequestBody注解接收JSON数据。
@RestController
public class MyController {
@PostMapping("/mydata")
public String receiveData(@RequestBody List<MyData> dataList) {
// 对接收到的数据进行处理
return "success";
}
}
- 发送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));
- 在服务器端,使用
@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库,并添加相应的依赖项。
原文地址: https://www.cveoy.top/t/topic/nH2Q 著作权归作者所有。请勿转载和采集!