gpt4 book ai didi

java - 如何将 Java 对象转换为 Jackson ObjectNode?

转载 作者:行者123 更新时间:2023-11-30 05:37:51 25 4
gpt4 key购买 nike

我有一个 Java 对象类,例如 Student 。如何将其转换为ObjectNode ?它可以是一个嵌套对象(多级嵌套)。

我正在尝试以下代码将对象转换为 ObjectNode ,但它首先将对象转换为 String然后将其转换为ObjectNode这看起来成本很高。

ObjectMapper mapper = new ObjectMapper();
mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);

try {
String json = mapper.writeValueAsString(student);
JsonNode jsonNode = mapper.readTree(json);
ObjectNode objectNode = jsonNode.deepCopy();
return objectNode;
} catch (Exception e) {
// Handle exception
}

我正在寻找一种更好的方法,因为我觉得通过这种方法,我正在进行 2 级序列化/反序列化。

public class Student {
public String name;
public int id;
public ArrayList<Subjects> subjects;
public Address address;
}

最佳答案

您可以使用valueToTree() 。它在功能上类似于将值序列化为 JSON 并将 JSON 解析为树,但效率更高。

ObjectNode tree = mapper.valueToTree(foo);

关于java - 如何将 Java 对象转换为 Jackson ObjectNode?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56254374/

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