Подтвердить что ты не робот

Как создать новые узлы в JsonNode?

У меня есть новый JsonNode, который я создал

JsonNode jNode = new ObjectCodec().createObjectNode();

с этим node, как я затем добавляю пары ключевых значений внутри, чтобы я мог построить этот новый node с новыми значениями? То, что я читал в http://www.cowtowncoder.com/blog/archives/2011/08/entry_460.html, упоминалось об использовании

jNode.with("newNode").put("key1","value1");

Но, глядя на API для Jackson JsonNode (v1.8), не отображается какой-либо метод как таковой.

4b9b3361

Ответ 1

Эти методы находятся в ObjectNode: деление таково, что большинство операций чтения включены в JsonNode, но мутации в ObjectNode и ArrayNode.

Обратите внимание, что вы можете просто изменить первую строку:

ObjectNode jNode = mapper.createObjectNode();
// version ObjectMapper has should return ObjectNode type

или

ObjectNode jNode = (ObjectNode) objectCodec.createObjectNode();
// ObjectCodec is in core part, must be of type JsonNode so need cast

Ответ 2

Недавно я нашел еще более интересный способ создания любых ValueNode или ContainerNode (Jackson v2.3).

ObjectNode node = JsonNodeFactory.instance.objectNode();