Pracuję nad parserem JSON dla aplikacji na Androida. Kiedy wywołuję serwer dla danych, jest kilka pól opcjonalnych, jak sobie z tym poradzić w Retroficie przy użyciu konwertera GSON?Jak obsługiwać opcjonalne pola JSON w Retroficie dla Androida?
Normalna reakcja
{
"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"
}
}
Alternatywny reagowania, gdy niektóre pola nie mają żadnych danych
{
"status":"SUCCESS",
"class-1":{
"class.enddate":"Jan/10/2016",
"class.startdate":"Jan/10/2015",
"class.title":"Physics 1"
}
}
POJO Klasy
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;
}
Jak utworzyć klasy Pojo w sposób na obsługę opcjonalnych pól, które nie są obecne ? W tej chwili cały obiekt MyClassInformation staje się NULL, gdy brakuje pól, proszę o pomoc.
Co próbowałeś/okazałeś? Nie pokazałeś swoich badań, a twoje pytanie z większym prawdopodobieństwem zostanie zamknięte. – Sufian
'@Expose @SerializedName (" klasa-1 ") publiczna SakaiClassInformation sakaiClassInformation;' nie pasuje do żadnej klasy we fragmencie kodu. Czy miałeś na myśli zamiast tego 'MyClassInformation' (czy nazwa' MyClassInformation' została zmieniona na aktualną)? –
Zmieniłem to odpowiednio, przepraszam za literówkę – joelj