【问题标题】:How to convert JSON response into pojo( Plain Old Java Object) autometically in spring boot?如何在 spring boot 中自动将 JSON 响应转换为 pojo(Plain Old Java Object)?
【发布时间】:2022-12-20 10:19:43
【问题描述】:

如何在 Spring Boot 中自动将 JSON 响应转换为 POJO(普通旧 Java 对象)?

我们应该为此使用哪个依赖项和 java 类?

【问题讨论】:

  • 您是否已经创建了 POJO 类?您如何接收 JSON 响应?

标签: java json spring spring-boot javaee


【解决方案1】:

如果您通过调用某个 REST 端点获取 JSON 数据/响应,则可以直接调用 RestTemplate.getForObject(USER_API, User[].class)。

@Autowired
    private RestTemplate restTemplate;

    private final String USER_API = "https://jsonplaceholder.typicode.com/users";

    @GetMapping("/users")
    public User[] consumeAllUser() {
        return restTemplate.getForObject(USER_API, User[].class);

    }

P.S:确保您的 JSON 对象键必须与您的 POJO 类匹配 多变的。

如果您想使用某个文件中的 JSON 数据,您可以通过在 pom.xml 文件中添加以下依赖项来使用 ObjectMapper。

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.13.3</version>
</dependency>

例子:

ObjectMapper objectMapper = new ObjectMapper();
objectMapper.readValue(new File("target/car.json"), User.class);

此外,您还可以参考以下内容:

  1. Calling REST Services with RestTemplate

  2. Spring Boot – TestTemplate

【讨论】:

    猜你喜欢
    • 2019-12-11
    • 1970-01-01
    • 1970-01-01
    • 2023-02-15
    • 2018-04-21
    • 2019-04-19
    • 2019-05-17
    • 2016-02-25
    • 1970-01-01
    相关资源
    最近更新 更多