Leeres json-Objekt, das anstelle von null, wenn keine Daten -> wie Deserialisieren mit gson

Ich versuche zu Parsen von json-Daten mit Google-gson-Bibliothek. Aber die json-Daten nicht gut Verhalten.

Sieht es wie folgt aus, wenn alles in Ordnung ist:

{
    "parent": {
        "child_one": "some String",
        "child_two": "4711",
        ...
    }
}

child_one sollte analysiert werden, wie String, child_two als int.
Manchmal hat man aber auch von den Kindern keine Werte hat, welche Ergebnisse in einem leeren Objekt statt null wie diese:

{
    "parent": {
        "child_one": "some String",
        "child_two": {},
        ...
    }
}

Habe ich keinen Zugriff zum ändern der json-feed, so dass ich zu tun haben mit ihm während der Deserialisierung.
Aber ich bin hier verloren. Wenn ich nur lassen Sie es analysieren, den 2. Fall gibt mir ein JsonSyntaxException.

Ich dachte über die Verwendung einer benutzerdefinierten JsonDeserializer. Gibt es so etwas wie überprüfen Sie jedes element, wenn es ein JsonObject und wenn es ist, überprüfen Sie, ob die entrySet.isEmpty(). Wenn ja, entfernen Sie das element.
Aber ich habe keine Ahnung, wie das zu erreichen ist die Iteration...

InformationsquelleAutor msal | 2013-09-11
Schreibe einen Kommentar