0

lors de la désérialisation sous JSON, il échoue avec le message d'exception ci-dessus lorsque vous tentez d'analyser l'attribut de serveur qui a son type ' chaîne 'imbriquée dedans, comment analyser un JSON qui a les types d'attributs imbriqués dans chaque attribut comme ci-dessous?com.fasterxml.jackson.databind.JsonMappingException: impossible de désérialiser l'instance de java.lang.String sur le jeton START_OBJECT

{ 
    "header": { 
    "time": 1492178674232, 
    "threadId": null, 
    "requestMarker": null, 
    "env": null, 
    **"server": { 
     "string": "astapp078" 
    }**, 
    "service": { 
     "string": "ApiCalendarsEntityStreamPublisher" 
    } 
    } 
} 

Répondre

0

Vous pouvez utiliser l'annotation @JsonProperty pour spécifier un nom différent pour le champ JSON que le champ POJO. Et envelopper les champs server et service dans les classes. Par exemple.

class POJO { 
    Server server; 
    Service service; 
} 

class Server { 
    @JsonProperty("string") String name; 
} 

class Service { 
    @JsonProperty("string") String name; 
} 

Et name dans server serait "astapp078"

+0

je ne pas avoir accès aux fichiers source ou tout contrôle comment son sérialisés, comme je lis ce message à partir d'un sujet de kafka. J'ai seulement les fichiers .class comme une dépendance pour analyser ces messages en java objet. – user2221654