2017-02-02 17 views
2

Wir Retrofit verwenden 1.9Android Retrofit Json Parsing (Teil json dynamisch)

Zunächst wurde Server eine json wie this-

{ 
"known_key1":"value1", 
"known_key2":"value2" 
} 

Rückkehr Wir hatten Modell erstellt -

public class ResponseModel { 
    @SerializedName("known_key1") 
    private String knownKey1; 

    @SerializedName("known_key2") 
    private String knownKey2; 
} 

Alles hat gut funktioniert.

aber jetzt Server noch einige Schlüssel in der Antwort zurückgibt, aber die Tasten sind dynamisch -

{ 
"known_key1":"value1", 
"known_key2":"value2", 
"dynamic_key1":"value1", 
"dynamic_key2":"value2" 
} 

Nun, was unser Modell sein sollte?

+0

in diesem Fall verwendet werden können, verwenden Sie model.Instead JsonObject nicht verwenden und analysieren Schlüssel aus dem JsonObject. –

+0

Sie meinen wir müssen es manuell analysieren? –

+0

yep oder Sie können eine Karte verwenden als @Mike vorgeschlagen –

Antwort

0

Für Fälle wie diese Sie Karten

Map<String, Object> map

+0

Wenn wir so in Model, wie Gson deserialisieren es, ich meine, welche Schlüssel Gson zuweisen wird. Wir bekommen keinen Schlüssel als Karte. –

+0

Nein, Sie brauchen das Modell nicht mehr, gehen Sie einfach auf die Karte. Also beim Parsen der Antwort ist es so einfach wie Schlüsselwertpaar. – Mike

+0

können Sie bitte ein wenig ausarbeiten. –