Java JSON转换和应用程序兼容性问题

Java JSON转换和应用程序兼容性问题,java,android,json,spring,Java,Android,Json,Spring,我正在使用Spring来管理Android客户端和Java后端之间的通信。特别是MappingJackson2HttpMessageConverter类在Android上来回转换JSON到Java对象 我的问题如下:有时我需要更新应用程序,这通常会导致在构建我的模型的某些类中添加额外的字段,并因此在客户端和服务器之间传输的JSON数据中添加额外的字段。当我这么做的时候,老版本的应用程序与新的稍微增强的对象模型保持兼容是至关重要的。特别是,如果服务器向客户机发送的JSON有效负载中包含的字段比客户

我正在使用Spring来管理Android客户端和Java后端之间的通信。特别是MappingJackson2HttpMessageConverter类在Android上来回转换JSON到Java对象

我的问题如下:有时我需要更新应用程序,这通常会导致在构建我的模型的某些类中添加额外的字段,并因此在客户端和服务器之间传输的JSON数据中添加额外的字段。当我这么做的时候,老版本的应用程序与新的稍微增强的对象模型保持兼容是至关重要的。特别是,如果服务器向客户机发送的JSON有效负载中包含的字段比客户机知道的字段太多,那么客户机应该忽略这些字段,而不会抱怨无法正确创建对象。不幸的是,现在情况并非如此,因为如果服务器发送一个附加字段(如country),则客户端在尝试转换对象时会抛出以下异常:

Could not read JSON: Unrecognized field "country" (class com.example.MyUser), not marked as ignorable (19 known properties: ...)

谢谢你的帮助

使用

这个建议听起来有点不切实际,但它的真诚建议是——不要使用Spring。像这样复杂的框架只会导致更多的问题,除非你想完全按照开发人员的设想使用它们。它们也会让你的应用程序慢得要命。如果没有他们,你会过得更好,你会花更多的时间解决这样的问题,而不是他们帮你解决问题。

酷!这必须与ignoreUnknown=true选项一起使用,并且它完全执行任务。我认为这种注释只适用于单个变量。