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
?