实例化pojo时gson.fromJson是否创建null或空列表

时间:2018-06-25 14:36:53

标签: java gson

当我为gson.fromJson初始化的List调用getter时,我在编辑器中注意到一条警告。我的某些Json元素填充了列表,而另一些则为空。

不确定Json数组源是空数组时,gson是使用setter来设置空数组还是将null设置为空。

最佳实践是处理异常,使用getter之前检查null还是覆盖pojo?

1 个答案:

答案 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并在整个项目中重复使用它。