Question

Je le fichier JSON suivant:


{
  "segments": {        
            "externalId": 123, 
            "name": "Tomas Zulberti", 
            "shouldInform": true, 
            "id": 4
   }
}

Mais le modèle java est comme suit:


public class Segment {

    private String id;
    private String name;
    private boolean shouldInform;

    // getter and setters here...
}

Quand Jackson est l'analyse soulève une exception becuase il n'y a pas getter ou setter pour le champ « ExternalId ». Il y un décorateur qui peut être utilisé pour ignorer un champ JSON?

Était-ce utile?

La solution

Vous pouvez utiliser l'annotation @JsonIgnoreProperties; si elle est juste une valeur que vous voulez sauter, quelque chose comme:

@JsonIgnoreProperties({"externalId"})

ou d'ignorer tout ce qui ne peut pas être utilisé:

@JsonIgnoreProperties(ignoreUnknown=true)

Il y a d'autres façons de le faire aussi, pour le contrôle reste FasterXML Jackson wiki .

Autres conseils

Nous pouvons également utiliser mapper.enable (DeserializationFeature FAIL_ON_IGNORED_PROPERTIES .); au lieu @JsonIgnoreProperties (ignoreUnknown = true)

mais pour cette propriété particulière, nous pouvons utiliser

@JsonIgnoreProperties({"externalId"})
public class Segment {

    private String id;
    private String name;
    private boolean shouldInform;

    // getter and setters here...
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top