jun*_*988 8 java android json jackson gson
我正在开发一个遗留的Android项目,该项目使用一个非常旧版本的Jackson lib来解析从我们的Web API带来的JSON.
我目前正在为该项目开发一个新功能,并希望使用Retrofit和Gson lib作为其JSON解析器,因为与我们之前的lib选项相比,这两个lib提供了更多的灵活性和更清晰的代码.
问题是,我需要一些遗留的POJO,以及那些已经有Jackson注释的POJO.将Gson和Jackson注释放在同一个类中会产生任何冲突吗?或者我是否会被迫使用Gson注释创建镜像类以避免潜在的问题?
例:
import org.codehaus.jackson.annotate.JsonProperty;
import com.google.gson.annotations.SerializedName;
public class someClass {
@JsonProperty ("some_attribute") // Jackson annotation
@SerializedName("some_attribute") // Gson annotation
private String someAttribute;
}
Run Code Online (Sandbox Code Playgroud)
注释只是元数据.他们自己没有任何行为.
具有行为的是处理注释的相应组件.例如,Jackson ObjectMapper(其内部)读取您提供的类型,内省它以查找任何有意义的注释,并使用它们来序列化/反序列化.@SerializedName对杰克逊没有意义,所以它忽略了它.同样,@JsonProperty对Gson没有意义,所以它忽略了它.
不会有任何问题*.
*除非您编写自己的类型适配器,无论出于何种原因使用其他库的注释.
| 归档时间: |
|
| 查看次数: |
3045 次 |
| 最近记录: |