使用Jackson ObjectWriter创建ObjectNodes

时间:2016-09-02 15:57:37

标签: java jackson

我正在尝试增加ObjectMapper的重用,我正在考虑移动以下代码:

ObjectMapper mapper = new ObjectMapper();
SimpleModule module = new SimpleModule().addSerializer(WeirdStuff.class, new WeirdStuffToStringSerializer());

mapper.registerModule(module);
ObjectNode results = mapper.createObjectNode();


results.set("field1", mapper.valueToTree(myClass.getField1()));
results.set("field2", mapper.valueToTree(myClass.getField2()));

到共享的ObjectMapperObjectWriter,但很难找到使用ObjectReader和Writer的示例。看看JavaDocs我也找不到ObjectWriter等价于valueToTree

有没有办法用ObjectWriter创建ObjectNodes

1 个答案:

答案 0 :(得分:1)

valueToTreeconvertValue中不存在您在ObjectMapper上找到的任何转换方法(例如ObjectWriterObjectReader等)因为它们需要序列化和反序列化功能。

要回答您从ObjectNode创建ObjectWriter的问题,答案是否定的。 ObjectWriter用于序列化,并且JsonNode用于反序列化。使用ObjectReader,您可以通过获取NodeFactory

来创建它们
objectReader.getConfig().getNodeFactory().objectNode()