Sto lavorando su un parser JSON per un'applicazione Android. Quando chiamo il server per i dati, ci sono alcuni campi opzionali, come posso gestirlo in Retrofit usando il convertitore GSON?Come gestire i campi JSON opzionali in Retrofit per Android?
risposta Normale
{
"status":"SUCCESS",
"class-1":{
"class.enddate":"Jan/10/2016",
"class.startdate":"Jan/10/2015",
"class.title":"Physics 1",
"class.short.description":"Physics 1",
"class.description":"This is a Physics Class"
}
}
risposta alternativo, quando alcuni campi non hanno alcun dato
{
"status":"SUCCESS",
"class-1":{
"class.enddate":"Jan/10/2016",
"class.startdate":"Jan/10/2015",
"class.title":"Physics 1"
}
}
classi POJO
public class MyClass {
@Expose @SerializedName("status")
public String status;
@Expose @SerializedName("class-1")
public MyClassInformation myClassInformation;
}
public class MyClassInformation {
@Expose @SerializedName("class.title")
public String classTitle;
@Expose @SerializedName("class.short.description")
public String classShortDescription;
@Expose @SerializedName("class.description")
public String classDescription;
@Expose @SerializedName("class.startdate")
public String startDate;
@Expose @SerializedName("class.enddate")
public String endDate;
}
Come faccio a creare le classi POJO in un modo per gestire i campi opzionali non presenti ? Al momento l'intero oggetto MyClassInformation diventa NULL quando mancano i campi, per favore aiuto.
Che cosa hai provato/trovato? Non hai mostrato la tua ricerca e la tua domanda è più probabile che finisca per essere chiusa. – Sufian
'@Expose @SerializedName (" class-1 ") pubblico SakaiClassInformation sakaiClassInformation;' non corrisponde ad alcuna classe nel tuo snippet di codice. Forse intendevi avere "MyClassInformation" lì (o avere "MyClassInformation" rinominato in quello che hai attualmente)? –
L'ho modificato di conseguenza, mi dispiace solo un refuso – joelj