readtree objectnode node new jsonnode example convert java json jackson

java - new - ¿Cómo escribir directamente en un objeto JSON(ObjectNode) de ObjectMapper en Jackson JSON?



objectmapper string to json object (1)

Necesita usar ObjectMapper # valueToTree () en su lugar.

Esto construirá una representación de árbol JSON equivalente. Funcionalmente lo mismo que si serializar el valor en JSON y analizar JSON como árbol, pero más eficiente.

No necesita escribir el objeto User en un archivo JSON, si eso no es necesario.

public class MyClass { private ObjectNode jsonObj; public ObjectNode getJson() { ObjectMapper mapper = new ObjectMapper(); // some code to generate the Object user... JsonNode jsonNode = mapper.valueToTree(user); if (jsonNode.isObject()) { jsonObj = (ObjectNode) jsonNode; return jsonObj; } return null; } }

Estoy tratando de generar un objeto JSON en Jackson JSON. Sin embargo, no pude obtener el objeto JSON utilizando el siguiente código.

public class MyClass { private ObjectNode jsonObj; public ObjectNode getJson() { ObjectMapper mapper = new ObjectMapper(); // some code to generate the Object user... mapper.writeValue(new File("result.json"), user); jsonObj = mapper.createObjectNode(); return jsonObj; } }

Después de ejecutar el programa, el archivo result.json contiene los datos JSON correctos. Sin embargo, jsonObj está vacío ( jsonObj={} ). Busqué el Javadoc de ObjectMapper pero no pude encontrar una forma fácil de escribir en ObjectNode (objeto JSON en Jackson). No hay ningún método en ObjectMapper como el siguiente:

public void writeValue(ObjectNode json, Object value)

¿Cómo escribir en ObjectNode directamente desde ObjectMapper ?