jackson实体类转换json大小写及空字段忽略

来源:互联网 发布:adobe xd cc2018 mac 编辑:程序博客网 时间:2024/04/28 15:36

实体类转换为json时,有时需要保持首字母大写或整个字段大写,而jackson序列化是默认使得首字母小写。

一种实现的方法是使用jackson的注解;


引入注解时注意版本:

  • 1.x annotations are in Java packageorg.codehaus.jackson.annotate, in Jackson core jar

  • 2.x annotations are in Java packagecom.fasterxml.jackson.annotation, in "jackson-databind" jar. 


    在实体类属性字段上添加:@JsonProperty({要转化为json时显示的字段名称})

    例如:

    // ID 图书编号
    @JsonProperty("ID")
    private String id;
    // ISBN
    @JsonProperty("ISBN")
    private String ISBN;
    // ISSN
    @JsonProperty("ISSN")
    private String ISSN;

    // 营销书名
    @JsonProperty("BookName")
    private String BookName;

    仅仅这样会发生转换后的json串中,会有类似{“bookName”:"","BookName":""}的情况,为此还需要在起 get方法上添加 @JsonIgnore  

    或者在实体类上添加 @JsonAutoDetect(JsonMethod.FIELD) ,全部忽略



  • 若实体类某字段为null或“”时,要求该字段不参与json序列化,需要在实体类添加注解  @JsonSerialize(include=Inclusion.NON_EMPTY) 


  • 更多注解含义 见: http://wiki.fasterxml.com/JacksonAnnotations

  • 0 0