在反序列化过程中,什么时候应该忽略JSON中的额外字段?

在反序列化过程中,什么时候应该忽略JSON中的额外字段?,json,jackson,deserialization,json-deserialization,Json,Jackson,Deserialization,Json Deserialization,这解释了在使用Jackson反序列化JSON时如何忽略额外字段 通过使用,但我想知道何时/为什么我应该这样做 这将覆盖Jackson的默认设置,即为意外字段引发异常。我假设我应该正常地使用这个默认值,但是什么时候/为什么我要将我的系统设计为严格的而不是接受它可以接受的任何东西呢 我想这更像是一个设计哲学问题,所以请告诉我这是否是一个正确的问题。本身就有一个场景作为这个问题的答案 问题是,在发布应用程序时,JSON对象可能会更改并添加新字段,但当前添加一个简单的字符串字段时,JSON对象将收支平衡

这解释了在使用Jackson反序列化JSON时如何忽略额外字段 通过使用,但我想知道何时/为什么我应该这样做

这将覆盖Jackson的默认设置,即为意外字段引发异常。我假设我应该正常地使用这个默认值,但是什么时候/为什么我要将我的系统设计为严格的而不是接受它可以接受的任何东西呢

我想这更像是一个设计哲学问题,所以请告诉我这是否是一个正确的问题。

本身就有一个场景作为这个问题的答案

问题是,在发布应用程序时,JSON对象可能会更改并添加新字段,但当前添加一个简单的字符串字段时,JSON对象将收支平衡,可以安全地忽略该字段

在序列化/反序列化json时,您可能需要忽略一些json属性,就像您从web服务使用json并且只希望序列化几个有意义的字段一样。例如,从employee details json中,您只需要员工的名字和姓氏。这样,您将避免有一个沉重的员工对象

如果消费的服务在将来升级并添加一些字段,您的代码将继续工作