我有一个json结构,其中的字段可以为空。这样地:
{ "objectA":{"fieldA":null}, "objectB":{"fieldB1":123,"fieldB2":"abcdef"} }
问题是,在这种情况下,表示结构的整个对象也变为空。如果该字段不为空,则
... {"fieldA":"xyz"} ...
反序列化工作正常。这怎么会发生?我已经用Gson单独测试了json,它工作正常(只有fieldA为空),所以问题一定是在改造中?!
我的改装/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;
}
}