Gson:设置错误时的默认值

时间:2016-09-26 17:35:37

标签: java android json gson

例如,我有一个对象

class MyObject implements Serializable {
  ...other fields

  public int intValue;

  ...other fields
}

我需要使用TypeToken<MyObject>(){}.getType()解析json。但有时服务器可以使用无效数据进行响应:

[
  {...intValue:42...}, 
  {...intValue:42...}, 
  {...intValue:"bad server, bad"...}
]

如何在出错时设置默认值?即我想收到一个ArrayList<MyObject>,其中intValue == [0] 42,[1] 42,[2] 100500(这是我的自定义默认值),没有抛出全局(对于数组)异常。因为在Exception(使用try / catch)的情况下,我得到绝对空列表。

也许我应该为所有类型使用自定义JsonSerializer<T>JsonDeserializer<T>? Boolean,Integer,MyCustomClass ......

0 个答案:

没有答案