Bir Android uygulaması için bir JSON ayrıştırıcısı üzerinde çalışıyorum. Veri için sunucuyu aradığımda, bazı isteğe bağlı alanlar var, bunu, GSON dönüştürücüyü kullanarak Retrofit'te nasıl halledebilirim?Android için Retrofit'te isteğe bağlı JSON alanları nasıl kullanılır?
Normal tepki
{
"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"
}
}
Alternatif tepkisi, bazı alanlar herhangi bir veri yok
{
"status":"SUCCESS",
"class-1":{
"class.enddate":"Jan/10/2016",
"class.startdate":"Jan/10/2015",
"class.title":"Physics 1"
}
}
POJO Sınıflar
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;
}
nasıl POJO sınıfları içinde oluşturabilirim Mevcut olmayan isteğe bağlı alanları işlemenin bir yolu ? Şu anda, alanlar kaybolduğunda tüm MyClassInformation nesnesi NULL olur, Lütfen yardım edin.
Neyi denediniz/öğrendiniz? Araştırmanızı göstermediniz ve sorunuzun kapanmaya başlaması daha olasıdır. – Sufian
'@Expose @SerializedName (" class-1 ") public SakaiClassInformation sakaiClassInformation;' kod snippet'inizdeki herhangi bir sınıfla eşleşmiyor. Belki de orada MyClassInformation 'var mı demek istediniz (veya MyClassInformation' sahip olduğunuz ne var mı?) –
Buna göre değiştirdim, sadece bir yazım hatası – joelj