Java 如何从Jackson JSON中的ObjectMapper直接写入JSON对象(ObjectNode)?
我正在尝试输出到Jackson JSON中的JSON对象。但是,我无法使用以下代码获取JSON对象Java 如何从Jackson JSON中的ObjectMapper直接写入JSON对象(ObjectNode)?,java,json,jackson,Java,Json,Jackson,我正在尝试输出到Jackson JSON中的JSON对象。但是,我无法使用以下代码获取JSON对象 public class MyClass { private ObjectNode jsonObj; public ObjectNode getJson() { ObjectMapper mapper = new ObjectMapper(); // some code to generate the Ob
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;
}
}
程序运行后,文件result.json
包含正确的json数据。但是,jsonObj
是空的(jsonObj={}
)。我查阅了的Javadoc,但找不到一种简单的方法来编写ObjectNode
(Jackson中的JSON对象)。ObjectMapper
中没有如下方法:
public void writeValue(ObjectNode json, Object value)
如何从ObjectMapper
直接写入ObjectNode
?您需要使用
这将构造等价的JSON树表示。功能上与将值序列化为JSON并将JSON解析为树相同,但效率更高
如果不需要,您不需要将User
对象写入JSON文件
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;
}
}
对的如果需要输出到文件,
JsonNode
可以使用writeValue(file,JsonNode)直接写入到文件中代码>知道如何使用jackson发布书面价值吗?