当我为gson.fromJson初始化的List调用getter时,我在编辑器中注意到一条警告。我的某些Json元素填充了列表,而另一些则为空。
不确定Json数组源是空数组时,gson是使用setter来设置空数组还是将null设置为空。
最佳实践是处理异常,使用getter之前检查null还是覆盖pojo?
答案 0 :(得分:0)
如果输入字符串为空(根据以下代码),则Gson.fromJson返回null
@SuppressWarnings("unchecked")
public <T> T fromJson(String json, Type typeOfT) throws JsonSyntaxException {
if (json == null) {
return null;
}
StringReader reader = new StringReader(json);
T target = (T) fromJson(reader, typeOfT);
return target;
}
正如您所看到的,如果发生任何错误,则会抛出异常JsonSyntaxException。
因此,您可以将逻辑包装到实用程序方法中,以处理Exception,null并在整个项目中重复使用它。