Heim >Java >javaLernprogramm >Warum erhalte ich die Fehlermeldung „Failed to Bounce to Type', wenn ich Firebase JSON mit Jackson Java-Objekten zuordne?

Warum erhalte ich die Fehlermeldung „Failed to Bounce to Type', wenn ich Firebase JSON mit Jackson Java-Objekten zuordne?

Susan Sarandon
Susan SarandonOriginal
2024-11-26 12:31:10170Durchsuche

Why Am I Getting a

Warum erhalte ich beim Konvertieren von Firebase JSON in Java-Objekte die Fehlermeldung „Failed to Bounce to Type“?

Einführung

Dieser Fehler tritt während auf die Konvertierung von Firebase JSON in Java-Objekte mithilfe der Jackson-Bibliothek. Dies zeigt an, dass Jackson die JSON-Eigenschaften nicht Ihrer Java-Klasse zuordnen kann.

Lösung

Stellen Sie sicher, dass die Java-Klasseneigenschaften mit den JSON-Eigenschaften übereinstimmen

Stellen Sie zunächst sicher, dass Ihre Java-Klasseneigenschaften stimmen genau mit den JSON-Eigenschaftsnamen überein, einschließlich Groß- und Kleinschreibung. Darüber hinaus sollten für jede Eigenschaft öffentliche Getter vorhanden sein.

Verwenden Sie die Annotation @JsonIgnoreProperties

Wenn Ihre Java-Klasse nicht Zuordnungen für alle JSON-Eigenschaften enthält, können Sie die Annotation @JsonIgnoreProperties verwenden, um bestimmte Eigenschaften zu ignorieren während der Konvertierung.

Nutzen Sie @JsonIgnore Annotation

Für Eigenschaften, die Sie in Ihre Java-Klasse einschließen, aber nicht zurück in JSON serialisieren möchten, können Sie die Annotation @JsonIgnore verwenden, um anzugeben, dass sie ignoriert werden sollen.

Beispiel

Betrachten Sie die folgende Firebase-JSON-Struktur:

{
  "users": {
    "-Jx5vuRqItEF-7kAgVWy": {
      "handle": "puf",
      "name": "Frank van Puffelen",
      "soId": 209103
    }
  }
}

Um dieses JSON in ein Java-Objekt zu konvertieren, definieren Sie das folgende Klasse:

private static class User {
  private String handle;
  private String name;

  public String getHandle() { return handle; }
  public String getName() { return name; }
}

Wenn Sie die Annotation @JsonIgnoreProperties hinzufügen, um die soId-Eigenschaft zu ignorieren, lautet der Code wie folgt:

@JsonIgnoreProperties({"soId"})
private static class User {
  private String handle;
  private String name;

  public String getHandle() { return handle; }
  public String getName() { return name; }
}

Oder verwenden Sie die folgende Annotation, um alle nicht übereinstimmenden Eigenschaften vollständig zu ignorieren :

@JsonIgnoreProperties(ignoreUnknown = true)
private static class User {
  ...
}

Dadurch kann Jackson Eigenschaften im JSON ignorieren, die keine entsprechende Java-Klasse haben Eigenschaften.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich die Fehlermeldung „Failed to Bounce to Type', wenn ich Firebase JSON mit Jackson Java-Objekten zuordne?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn