我使用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
方法是deprecated.Why,put
方法的重载已被弃用:
public JsonNode put(String fieldName, JsonNode value);
那么有什么替代方案呢?
我还试过这个:
String jsonStr = mapper.writeValueAsString(appVersion);
resNode.put("status", true);
resNode.put("appObject", jsonStr);
但此方法将appObject
值括起来的双引号("
)作为字符串值。
发布于 2018-06-07 06:29:24
他们为这些操作添加了一种新方法。ObjectNode.put(String, JsonNode)
请尝试使用resNode.set("appObject", appObject);
。
发布于 2019-05-27 17:58:48
ObjectNode.put()已弃用
https://stackoverflow.com/questions/27784312
复制相似问题