Esto puede parecer un poco inusual, pero estoy buscando una manera eficiente de transformar / mapear a JsonNode
en a POJO
.
Guardo parte de la información de mi modelo en archivos json y tengo que admitir un par de versiones de mi modelo.
Lo que hago es cargar el archivo json en la memoria en un JsonNode, aplicar un par de estrategias de versiones para que coincida con la última versión de mi Modelo.
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);
A menos que haya una forma más rápida de hacerlo, probablemente termine simplemente aplicando manualmente JsonNodes
a mi Modelo
jsonObjectMapper.readValue(jsonObjectMapper.treeAsTokens(someJsonNode), someTypeReference)
objectMapper.treeToValue(jsonNode, MyClass.class)
p.codec.treeToValue
.