这可能看起来有点不寻常,但我正在寻找一种高效的方法将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
应用于我的模型。
jsonObjectMapper.readValue(jsonObjectMapper.treeAsTokens(someJsonNode), someTypeReference)
。 - M. JustinobjectMapper.treeToValue(jsonNode, MyClass.class)
。 - amodp.codec.treeToValue
。这个方法可以将树形结构转换为相应的Java对象。 - galcyurio