[英]How serialize an object as a value to ObjectNode in Jackson?
我正在使用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
方法。 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);
。
不推薦使用ObjectNode.put()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.