如何将 Java 对象放入 Jackson 中的 ObjectNode?
How to put Java object to ObjectNode in Jackson?
我正在以编程方式编写 ObjectNode
,并用 put(String propertyName...)
方法填充它的字段。现在我想添加一个子对象,我已经以 Java 对象的形式拥有它。如何做到这一点?
我没有put(String propertyName, Object value)
方法,怎么办?
我可以创建
JsonNode node = mapper.valueToTree(myObject);
但是我又没有put(String propertyName, JsonNode node)
方法。
如何完成?
尝试使用 set(String, JsonNode)
而不是 put
。示例如下:
Car car = new Car();
car.setName("My car");
car.setYear("2022");
ObjectMapper mapper = new ObjectMapper();
ObjectNode baseNode = mapper.createObjectNode();
ObjectNode carNode = mapper.valueToTree(car);
baseNode.put("hello", "world");
baseNode.set("car", carNode);
System.out.println(baseNode.toPrettyString());
我正在以编程方式编写 ObjectNode
,并用 put(String propertyName...)
方法填充它的字段。现在我想添加一个子对象,我已经以 Java 对象的形式拥有它。如何做到这一点?
我没有put(String propertyName, Object value)
方法,怎么办?
我可以创建
JsonNode node = mapper.valueToTree(myObject);
但是我又没有put(String propertyName, JsonNode node)
方法。
如何完成?
尝试使用 set(String, JsonNode)
而不是 put
。示例如下:
Car car = new Car();
car.setName("My car");
car.setYear("2022");
ObjectMapper mapper = new ObjectMapper();
ObjectNode baseNode = mapper.createObjectNode();
ObjectNode carNode = mapper.valueToTree(car);
baseNode.put("hello", "world");
baseNode.set("car", carNode);
System.out.println(baseNode.toPrettyString());