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

Java 如何在Jackson中将对象序列化为ObjectNode的值?,java,json,servlets,jackson,Java,Json,Servlets,Jackson,我正在使用jackson将我的对象序列化为json。我正在使用以下代码: ObjectMapper mapper = new ObjectMapper(); JsonNodeFactory nodeFactory = new JsonNodeFactory(false); ObjectNode resNode = new ObjectNode(nodeFactory); SimpleModule simpleModule = new SimpleModule(); simpleModule.a

我正在使用
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.
但是我看到带有
JsonNode
重载的
put
方法被弃用。为什么下面的
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);
ObjectNode.put()已被弃用Javadoc声明您应该使用
set(String,JsonNode)
replace(String,JsonNode)
。您尝试过其中任何一种吗?@user3567830:谢谢:)我没有看到。我现在找到了。。再次感谢:)