Domanda

Ho il seguente file JSON:


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

Ma il modello di Java è la seguente:


public class Segment {

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

    // getter and setters here...
}

Quando Jackson è l'analisi solleva un'eccezione becuase non c'è getter o setter per il campo "ExternalID". E c'è un decoratore che può essere utilizzato per ignorare un campo json?

È stato utile?

Soluzione

È possibile utilizzare l'annotazione @JsonIgnoreProperties; se è solo un valore che si desidera saltare, qualcosa come:

@JsonIgnoreProperties({"externalId"})

o di ignorare tutto ciò che non può essere utilizzato:

@JsonIgnoreProperties(ignoreUnknown=true)

Ci sono altri modi per farlo troppo, per il controllo di riposo fuori FasterXML Jackson wiki .

Altri suggerimenti

Inoltre possiamo usare mapper.enable (DeserializationFeature FAIL_ON_IGNORED_PROPERTIES .); invece @JsonIgnoreProperties (ignoreUnknown = true)

ma per particolare proprietà che possiamo usare

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

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

    // getter and setters here...
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top