Ajouter une propriété à une chaîne json avec jackson json
Je suis de stocker une chaîne json dans un champ de texte dans mysql.
Après l'insertion, je veux mettre à jour ma chaîne json et ajouter la base de données mysql en ligne de id avec jackson json.
J'ai un java Chaîne qui est au format Json
{
"thing":"val"
}
Je suis à la recherche d'ajouter un autre K/V sans écrire des lignes de codes.
pour avoir enfin ce :
{
"thing":"val"
"mysqlId":10
}
Je peux convertir mon String pour un JsonNode :
ObjectMapper mapper = new ObjectMapper();
JsonNode json = mapper.readTree( jsonStr);
Qui cherchent à faire quelque chose comme ceci
json.put("mysqlId",10);
json.toString();
ensuite mettre à jour dans mon champ de texte avec la nouvelle chaîne json dans mysql
Je ne peux pas le faire.
Je ne veux pas utiliser beaucoup de classe est-il un moyen simple de le faire avec jackson?
Sonne comme une étrange exigence. Pouvez-vous donner un exemple de ce que vous essayez d'atteindre?
Je suis à jour le post
Essayez de mettre à jour votre question au lieu de cela, avec l'exemple de code.
Je suis à jour le post
Essayez de mettre à jour votre question au lieu de cela, avec l'exemple de code.
OriginalL'auteur Dimitri Kopriwa | 2013-05-15
Vous devez vous connecter pour publier un commentaire.
Lancez votre
JsonNode
à uncom.fasterxml.jackson.databind.node.ObjectNode
et puis l'appel deset
(oureplace
).méthode dans ObjectNode est obsolète dans la v2.4. Vous devez utiliser set ou remplacer.
est-il un moyen de tirer parti de Jackson juste changer le nom d'une propriété dans une chaîne JSON? I. e. supposons que je veux changer
'id' : 42
à'my_id' : 42
- sans avoir à connaître la valeur de 42 et de re-création de la propriété?OriginalL'auteur cmbaxter