gpt4 book ai didi

java - 如何将对象序列化为 Jackson 中 ObjectNode 的值?

转载 作者:搜寻专家 更新时间:2023-10-31 19:54:39 50 4
gpt4 key购买 nike

我正在使用 jackson 将我的对象序列化为 json。我正在使用以下代码:

ObjectMapper mapper = new ObjectMapper();
JsonNodeFactory nodeFactory = new JsonNodeFactory(false);
ObjectNode resNode = new ObjectNode(nodeFactory);

SimpleModule simpleModule = new SimpleModule();
simpleModule.addSerializer(ApplicationVersion.class, new SingleApplicationSerializer());
mapper.registerModule(simpleModule);
JsonNode appObject = mapper.valueToTree(appVersion);

resNode.put("status", true);
resNode.put("appObject", appObject); //This put method is deprecated.

但我看到 put 方法与 JsonNode 重载已弃用。为什么以下 put 方法重载已弃用:

public JsonNode put(String fieldName, JsonNode value);

有什么替代方案?


我也试过这个:

String jsonStr = mapper.writeValueAsString(appVersion);
resNode.put("status", true);
resNode.put("appObject", jsonStr);

但此方法将双引号 (") 作为字符串值放在 appObject 值周围。

最佳答案

他们为这些操作添加了一个新方法。 ObjectNode.put(String, JsonNode)

试试 resNode.set("appObject", appObject);

关于java - 如何将对象序列化为 Jackson 中 ObjectNode 的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27784312/

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