我正在尝试提高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()));
共享的
ObjectMapper
和ObjectWriter
,但是,很难找到使用ObjectReader和Writer的示例。查看JavaDocs,我也找不到与valueToTree
等效的ObjectWriter。有没有一种方法可以使用ObjectWriter创建
ObjectNodes
? 最佳答案
在valueToTree
或convertValue
中找不到在ObjectMapper
上找到的任何转换方法(例如ObjectWriter
,ObjectReader
等),因为它们需要序列化和反序列化功能。
要回答从ObjectNode
创建ObjectWriter
的问题,答案是否定的。 ObjectWriter
用于序列化,创建JsonNode
用于反序列化。使用ObjectReader
,您可以通过获取NodeFactory
来创建它们:
objectReader.getConfig().getNodeFactory().objectNode()