Comment créer des nouveaux nœuds dans JsonNode?

J’ai un nouveau JsonNode que j’ai créé

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

Avec ce nœud, comment puis-je append des paires de valeurs clés afin de pouvoir construire ce nouveau nœud avec les nouvelles valeurs? Ce que j’ai lu dans http://www.cowtowncoder.com/blog/archives/2011/08/entry_460.html a mentionné l’utilisation de

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

Mais regarder les API de JsonNode (v1.8) de Jackson ne montre aucune méthode en tant que telle.

Ces méthodes sont dans ObjectNode : la division est telle que la plupart des opérations de lecture sont incluses dans JsonNode , mais les mutations dans ObjectNode et ArrayNode .

Notez que vous pouvez simplement modifier la première ligne pour être:

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

ou

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

J’ai récemment trouvé un moyen encore plus intéressant de créer un ValueNode ou un ContainerNode (Jackson v2.3).

 ObjectNode node = JsonNodeFactory.instance.objectNode();