1

我使用 JSON 作为保存格式。

如果我更改对象的字段名称,GSON 将在加载旧版本时静默丢弃原始字段,因为它们不再匹配新名称。

如果我通过重构意外执行此操作,我希望能够获得一些通知,即“警告:反序列化期间在 ObjectType 中找不到变量名”。有一个 @Version 注释,但它不是我正在寻找的。

是否有人编写了自定义反序列化器或自定义类型转换器,当 JSON 中的字段在类型中不存在时会引发错误?是否有另一个序列化库可以做到这一点?

编辑:如果有人有的话,我仍然会对能够执行此操作的 GSON 反序列化器感兴趣。

4

1 回答 1

-1

Jackson可用于在意外 JSON 元素上失败。Jackson 还可以配置为收集(和记录)所有未绑定的 JSON 元素,如http://www.cowtowncoder.com/blog/archives/2010/09/entry_414.html中所述(搜索“任何 setter”)。

如果您已经熟悉 Gson,我在http://programmerbruce.blogspot.com/2011/07/gson-v-jackson-part-6记录了如何使用 Jackson 来执行 Gson 用户指南中所涵盖的相同操作.html

于 2013-04-07T04:33:12.280 回答