gpt4 book ai didi

java - 如何自动将json文档序列化为java对象(使用反射)

转载 作者:行者123 更新时间:2023-12-02 09:05:11 27 4
gpt4 key购买 nike

我在 Node.js 上有一个简单的 API,用于存储 MongoDB 文档。我有一个 API 端点,可以检索 json 数组中的文档。

我想用 Java 实现此 API 的客户端。由于 Java 支持反射,我不需要将数组中的每个 json 文档映射到具有相同字段的 java 对象中。必须有一种方法可以将一个简单地映射到另一个。但是,它必须支持嵌套对象。这是我的 Java 对象:

public class Order {
public Boolean deleted;
//Use only when updating an order, _id is mongo's _id of order to be updated
public String _id;
static public class Product {
public String name;
public Integer quantity;
public Float price;
}
public String clientName;
public String clientPhone;
public Integer seller_id;
public Integer order_id;
public String observations;
public ArrayList<Product> products = new ArrayList<Product>();
public Float total;
}

我从 API 收到的 Json 数组将具有相同的成员:clientName , clientPhone , products等等。我只需要将 Json Array 元素映射到 Order 即可。

有一个支持反射的库(Jackson)并为我提供了一种执行逆操作的方法:Order to Json,但我找不到一种方法来执行我想要的操作。

最佳答案

使用Jackson,您可以通过以下方式将json转换为java对象。

//json variable is the String represenating the json you have received from API
Order order = new ObjectMapper().readValue(json, Order.class);

有关更多示例,您可以查看Jackson examples

关于java - 如何自动将json文档序列化为java对象(使用反射),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59871292/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com