2014-06-10 1 views

Répondre

6

Vous ne pourrez pas renommer les clés dans les paires JSON à valeur-clé. Ce que vous devez faire est de créer une nouvelle paire clé-valeur avec la même valeur mais avec une clé différente et supprimer l'ancienne.

JsonNode node = ...; 
ObjectNode object = (ObjectNode) node; 
object.set("MyNewFieldName", new TextNode(node.get("temperature").asText())); 
object.remove("temperature"); 
+0

Merci pour l'idée :) mais je suis arrivé cette erreur L'ensemble de la méthode (String, TextNode) n'est pas défini pour le type ObjectNode – hich

+0

@ user3330322 J'utilise Jackson 2. Êtes-vous? La méthode cible est ['ObjectNode # set (String, JsonNode)'] (http://fasterxml.github.io/jackson-databind/javadoc/2.3.0/com/fasterxml/jackson/databind/node/ObjectNode.html # set% 28java.lang.String,% 20com.fasterxml.jackson.databind.JsonNode% 29). Si une telle méthode n'existe pas dans la version de Jackson que vous utilisez, il pourrait y avoir quelque chose de similaire. –

+0

Je pense que j'utilise jackson 1.9, et bien il y a une méthode put (String, JsonNode), je pense que ça fait la même chose. Merci beaucoup. – hich

Questions connexes