例如,我有一个对象
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 ......