Ich arbeite an einer Android-App, wo ich einen Web-Service-Aufruf habe und dieser Dienst gibt mir ein Json-Objekt als Antwort, aber in einigen Fällen ist es eine andere Struktur zurückkehren, finden Sie die Struktur:Parsen eines inkonsistenten JSON (verschiedene JSON-Struktur für den gleichen API-Aufruf) mit Gson Library
Fall 1: Json Struktur die Json haben Schlüssel „von“ und „zu“, die vom Typ String sind genannt.
Ex: "bis": "BVRT", "aus": "NS",
Fall 2: Json Struktur Die Json Schlüssel namens "von" und "zu" haben, die von benutzerdefiniertes Objekt ex: "aus": { "name": "BANGALORE CY JN", "Code": "SBC" }, "auf": { "name": "BHIMAVARAMTOWN", "code" : "BVRT" },
Da es viele verschachtelte Objekte gibt, verwende ich Gson Library, um das JSON-Objekt zu analysieren, das das Leben einfacher macht, anstatt manuell zu analysieren.
Ausgabe Facing Wie kann ich meine pojo Klasse konstruieren, da es zwei verschiedene Strukturen für die gleichen API-Aufruf, ich habe versucht, JsonIgnore aber es hat nicht funktioniert, da es die gleichen json Schlüssel in hat die beiden Fälle.
Zum besseren Verständnis finden Sie den Screenshot, der die komplette JSon-Struktur hat, in der Hoffnung eine Antwort mit Beispielcode-Snippet, da dies ein Blocker war, für den wir keine weitere Funktionalität der App erreichen konnten. Json Structure
Bitte lassen Sie mich den Grund für die Abstimmung unten wissen, wenn meine Frage falsch ist, sind dies die API von Railwayapi gegeben.com, die die unterschiedliche JSON-Struktur für den gleichen API-Aufruf – manideep
Verwenden Sie Objekt statt String beim Parsen, manuell die Logik durch die Identifizierung der Objekt Wert –
@HarshaVardhan Ich habe sogar versucht, die vorgeschlagene Vorgehensweise, aber um zu überprüfen, ob das Ergebnis ist string oder benutzerdefiniertes Objekt Ich muss instancOf() verwenden, aber wenn es String ist, wird es automatisch zugeordnet, wenn es ein benutzerdefiniertes Objekt ist, das nicht identifiziert werden kann, und ich erwähnte, dass es ein riesiger json mit vielen Beziehungen ist und zwei Formen von Modellobjekt und wie kann ich wissen, welches Modellobjekt und wie kann ich entscheiden, welche Version des Modellobjekts verwendet werden soll, um die Ergebnisse zuUI anzuzeigen, so möchte ich wissen, ob es einen anderen Weg gibt, der dem Zweck dient – manideep