Tengo un nuevo JsonNode que he creado

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

con este nodo, ¿cómo puedo, a continuación, agregar valor de clave de pares dentro de lo que puedo construir este nuevo nodo con los nuevos valores? Lo que he leído en http://www.cowtowncoder.com/blog/archives/2011/08/entry_460.html mencionado sobre el uso de

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

Pero mirando la Api para Jackson JsonNode (v1.8) no muestran ningún método como tal.

InformationsquelleAutor Dexter Cato | 2012-07-16

2 Comentarios

  1. 72

    Estos métodos son de ObjectNode: la división es tal que la mayoría de las operaciones de lectura se incluyen en JsonNode, pero las mutaciones en ObjectNode y ArrayNode.

    Tenga en cuenta que usted puede simplemente cambiar la primera línea:

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

    o

    ObjectNode jNode = (ObjectNode) objectCodec.createObjectNode();
    //ObjectCodec is in core part, must be of type JsonNode so need cast
    • Gracias por este StaxMan. A una pregunta de seguimiento que se me olvidó poner en es ¿cómo puedo insertar este nodo, a continuación, en un nodo existente?
    • Por lo general, usted agregue los niños utilizando el método de ObjectNode o ArrayNode; mapper sólo se utiliza para la construcción de los nodos raíz. Así que echa un vistazo putObject o addObject método en ObjectNode/ArrayNode
  2. 62

    Recientemente he encontrado aún más interesante forma de crear cualquier ValueNode o ContainerNode (Jackson v2.3).

    ObjectNode node = JsonNodeFactory.instance.objectNode();
    • No hay nada de malo con esto. Eso es lo que la instancia singleton está allí para
    • Sí, pero por alguna razón me olvido de un método de instancia en lugar de una variable de referencia

Dejar respuesta

Please enter your comment!
Please enter your name here