/ / Jackson: Comment disséminer une propriété avec un contenu JSON en tant que chaîne brute - json, jackson, marshalling

Jackson: comment annuler la fusion d'une propriété avec un contenu JSON en tant que chaîne brute - json, jackson, marshalling

Je suis en train de rassembler un objet dans JSON qui aJSON dans une propriété String (String actionsJSON). Cela provoquait l'évasion de JSON. J'utilise donc l'annotation Jackson @JsonRawValue pour que le JSON de cette propriété ne soit pas échappé. Le problème est que lorsque je décompose le contenu dans une propriété String (processus inverse), Jackson traite le JSON (qui possède un tableau JSON) et génère une erreur, car la propriété de la classe java est simplement un String:

Can not deserialize instance of java.lang.String out of START_ARRAY token

Comment puis-je faire en sorte que Jackson copie le contenu de cette propriété sans essayer de le traiter, de sorte que le code JSON est intégré à la propriété String de la même manière que dans l'objet d'origine?

(J'ai essayé @JsonRawValue dans la classe cible, ... @JsonSerialize (en utilisant = ToStringSerializer.class, as = StringSerializer.class), mais l'erreur est toujours présente.

Réponses:

0 pour la réponse № 1

Tu devrais regarder JsonDeserlalize et non JsonSerialize. Un bel exemple à Désérialiser JSON en chaîne au format brut à l'aide de Jackson Et des informations plus détaillées sur http://www.baeldung.com/jackson-annotations