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

实体类转换为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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值