有没有办法用Jackson定义通用的序列化方案?

时间:2018-06-27 14:53:36

标签: java json spring-boot jackson

我有一个spring-boot项目,该项目正在使用Jackson的ObjectMapper将POJO(反序列化)为JSON以与第三方REST API交互。

第三方API对于内部一致但对标准Java命名约定不友好的属性具有特定的命名方案。我的问题是,有没有一种方法可以配置objectMapper使其自动处理。现在,我正在使用JsonProperty批注将每个字段与其json属性名称明确关联,我想知道是否可以删除这些字段。

例如,第三方希望所有内容都带有p_前缀,并且全部使用小写字母,因此Pet类:

@Getter
@Setter
public class Pet {
   private String id
   private String petName
   private String species
}

应序列化为:

{
    "p_id" : <SOME.VALUE>,
    "p_petname" : <SOME.VALUE>,
    "p_species" : <SOME.VALUE>
}

1 个答案:

答案 0 :(得分:0)

通过@JsonNaming注释,您可以设置用于带注释的类的属性的命名策略:JsonNaming