Deserialisieren von JSON in Objekt mit überladenen Methoden mit Jackson

Ich bin versucht zu Deserialisieren ein JSON-Objekt gespeichert CouchDb mit Jackson. Dieses Objekt Deserialisieren in eine pojo, enthält überladenen Methoden. Wenn ich Versuch zum abrufen des Objekts von der couch und tun die Deserialisierung bekomme ich die folgende exception:

org.ektorp.DbAccessException:
org.codehaus.jackson.Karte.JsonMappingException:
Widersprüchliche Definitionen für setter
Eigenschaft "Multiplikator":
com.db.waren.Rahmen.sdos.Modell.Sicherheit.EqOpt#setMultiplier(1
params) vs
com.db.waren.Rahmen.sdos.Modell.Sicherheit.EqOpt#setMultiplier(1
params)

Habe ich versucht zu kommentieren setter möchte ich Jackson zu benutzen, aber das scheint nicht geklappt haben.

@JsonProperty("multiplier")
public void setMultiplier(SDOSAttribute multiplier) {
     this.multiplier = multiplier;
}

public void setMultiplier(double multiplier) {
     this.multiplier.setValue(String.valueOf(multiplier));
}

Wie Konfiguriere ich Jackson richtig zu Deserialisieren mit einer bestimmten Methode? Oder bin ich an dieses problem der falsche Weg ist?

EDIT:

Habe ich folgende änderungen vorgenommen. Dies scheint zu funktionieren, aber ist ein wenig hässlicher. Wenn jemand eine bessere Möglichkeit, dies zu tun, fühlen Sie sich bitte frei, zu teilen, und ich werde gerne annehmen.

@JsonProperty("multiplier")
protected void setMultiplierAttribute(SDOSAttribute multiplier) {
    this.multiplier = multiplier;
}

@JsonIgnore
public void setMultiplier(double multiplier) {
    this.multiplier.setValue(String.valueOf(multiplier));
}

InformationsquelleAutor der Frage gregwhitaker | 2011-06-14

Schreibe einen Kommentar