这可能看起来有点不寻常,但我正在寻找一种有效的方法来将 JsonNode
转换/映射到 POJO
。
我将模型的一些信息存储在 json 文件中,并且我必须支持我的模型的几个版本。
我所做的是将 json 文件加载到 JsonNode 的内存中,应用几个版本控制策略使其与我的模型的最新版本匹配。
ObjectMapper mapper = new ObjectMapper();
BufferedReader fileReader = new BufferedReader(new FileReader(projPath));
JsonNode rootNode = mapper.readTree(fileReader);
//Upgrade our file in memory
applyVersioningStrategy(rootNode);
ProjectModel project = mapJsonNodeToProject(rootNode);
除非有更快的方法,否则我可能最终会简单地手动将 JsonNodes
应用到我的模型
原文由 Alexandre 发布,翻译遵循 CC BY-SA 4.0 许可协议
在 Jackson 2.4 中,您可以按如下方式转换:
其中
jsonObjectMapper
是杰克逊ObjectMapper
。在杰克逊的旧版本中,它将是