首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Jackson中如何将对象序列化为ObjectNode的值?

在Jackson中如何将对象序列化为ObjectNode的值?
EN

Stack Overflow用户
提问于 2015-01-06 01:01:17
回答 2查看 11.7K关注 0票数 8

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

代码语言:javascript
复制
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.

但我看到带有JsonNode重载的put方法是deprecated.Why,put方法的重载已被弃用:

代码语言:javascript
复制
public JsonNode put(String fieldName, JsonNode value);

那么有什么替代方案呢?

我还试过这个:

代码语言:javascript
复制
String jsonStr = mapper.writeValueAsString(appVersion);
resNode.put("status", true);
resNode.put("appObject", jsonStr);

但此方法将appObject值括起来的双引号(")作为字符串值。

EN

回答 2

Stack Overflow用户

发布于 2018-06-07 06:29:24

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

请尝试使用resNode.set("appObject", appObject);

票数 19
EN

Stack Overflow用户

发布于 2019-05-27 17:58:48

ObjectNode.put()已弃用

票数 -3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27784312

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档