Java 如何从Jackson JSON中的ObjectMapper直接写入JSON对象(ObjectNode)?

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

我正在尝试输出到Jackson JSON中的JSON对象。但是,我无法使用以下代码获取JSON对象

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发布书面价值吗?