我有这个模型类,它使用Retrofit来存储我的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"]
}
在某些情况下,JSON对象不会有values
,并且会出现这样的情况。
{
"id":2,
"value":null
}
当发生这种情况时,我得到了这个例外。
com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was NULL
如何处理此问题,以便Java对象的value
字段默认为null
?
编辑:请注意,我在Retrofit中使用它,所以它的工作原理如下。
// 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.
}
});
如果字段为NULL,则调用始终位于onFailure
。