У меня есть структура json с полями, которые могут стать нулевыми. Например:Дополнение к обновлению/GSON null приводит к нулевому объекту
{ "objectA":{"fieldA":null}, "objectB":{"fieldB1":123,"fieldB2":"abcdef"} }
Проблема в том, что в этом случае весь объект, представляющий структуру, также становится нулевым. Хотя, если подача не является нулевой, как
... {"fieldA":"xyz"} ...
десериализация отлично работает. Как это может произойти? Я тестировал свой json только с Gson, и он работает правильно (только fieldA имеет значение null), поэтому проблема должна быть в модификации ?!
Мои зависимости дооснащения/gson являются:
структураcompile 'com.squareup.retrofit2:retrofit:2.1.0'
compile 'com.squareup.retrofit2:converter-gson:2.1.0'
Реакция выглядит следующим образом:
public class ObjectResponse extends BaseResponse {
@SerializedName("objectA")
private ObjectA objectA;
public ObjectA getObjectA() {
return objectA;
}
}
public class ObjectA {
@SerializedName("fieldA")
private String fieldA;
public String getFieldA() {
return fieldA;
}
}
public class BaseResponse {
@SerializedName("objectB")
private ObjectB objectB;
public ObjectB get ObjectB() {
return objectB;
}
}
public class ObjectB {
@SerializedName("fieldB1")
private int fieldB1;
@SerializedName("fieldB2")
private String fieldB2;
public int getFieldB1() {
return fieldB1;
}
public String getFieldB2() {
return fieldB2;
}
}
Это странно ... Не могли бы вы изложить определение своих моделей и какую версию модификации вы используете? – Fred