Ich habe diese Klasse mit enums verwenden. Parsing zu Firebase json funktionierte gut - mit Jackson. Während der Migration-Datenbank Firebase zu: 9.0.0 bekomme ich folgendes:Android Firebase 9.0.0 setValue Serialisierung Enums
com.google.firebase.database.DatabaseException: Keine Objekte auf Klasse gefunden zu serialisiert .... MyClass $ Art
wobei Kind der deklarierte Typ ist. Die Klasse:
public class MyClass {
public enum Kind {W,V,U};
private Double value;
private Kind kind;
/* Dummy Constructor */
public MyClass() {}
public Double getValue() {
return value;
}
public void setValue(Double value) {
this.value = value;
}
public Kind getKind() {
return kind;
}
public void setKind(Kind kind) {
this.kind = kind;
}
}
Ich vermute, Firebase nicht mehr Jackson verwendet, wenn setValue (new MyClass()) Serialisierung.
Gibt es eine Möglichkeit, Enum-Typen serialisiert zu bekommen? Oder einige Mittel, um in Bezug auf die Serializer-Methode explizit zu sein?
Ich würde überdenken, eine Antwort zu akzeptieren, die eindeutig keine langfristige Lösung ist. Während es schön ist, Jackson nicht mehr importieren zu müssen, haben wir die Kontrolle über unseren Code für neue, glänzende Funktionen aufgegeben, die viele von uns nicht benötigen. Bis Firebase es uns erlaubt, den JSON-Serializer über sein SDK zu konfigurieren, würde ich argumentieren, dass es im Moment keine akzeptable Lösung gibt. –