Android 如何使我的改装模型类处理空属性?

Android 如何使我的改装模型类处理空属性?,android,json,gson,realm,retrofit2,Android,Json,Gson,Realm,Retrofit2,我有一个模型类,它存储了通过改型API调用得到的JSON对象 // Java public class SampleClass extends RealmObject { @SerializedName("id") @Expose private Integer id; @SerializedName("value") @Expose private List<String> value; } // Json { "id"

我有一个模型类,它存储了通过改型API调用得到的JSON对象

// Java
public class SampleClass extends RealmObject {

    @SerializedName("id")
    @Expose
    private Integer id;
    @SerializedName("value")
    @Expose
    private List<String> value;

}

// Json
{
    "id":1,
    "value":["one", "two"]
}
当这种情况发生时,我得到这个异常

com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was NULL
如何处理这个问题,使Java对象的
字段默认为
null

编辑:请注意,我将其与改装一起使用,因此其工作原理如下

{
    "id":2,
    "value":null
}
    // Call to API
    Call<SampleClass> call = apiService.getSampleClass();
    call.enqueue(new Callback<SampleClass>() {
        @Override
        public void onResponse(Call<SampleClass> call, Response<SampleClass> response) {
            // API Call was successful
        }

        @Override
        public void onFailure(Call<Login> call, Throwable t) {
            // Logging t.toString() shows the error above.
        }
    });
//调用API
Call Call=apiService.getSampleClass();
call.enqueue(新回调(){
@凌驾
公共void onResponse(调用、响应){
//API调用成功
}
@凌驾
失败时公共无效(调用调用,可丢弃的t){
//记录t.toString()会显示上述错误。
}
});

如果一个字段为空,调用总是在
onFailure
中到达。

您的改型API接口不代表实际的响应类型(您等待列表,然后得到一个对象)@EpicPandaForce抱歉,我只是使用了一个SampleClass来说明问题的要点。我调好了,你好。你能对付他们吗?我可以知道你是如何克服它的吗?我也有同样的问题。感谢you@GulbalaSalamov不,对不起。我最后要求API的家伙只是发送空数组的情况下,而不是NULL。@ iSaaHJ非常感谢你,我也会考虑这个选项,当需要时。