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

GitHub 加速计划 / js / json
41.72 K
6.61 K
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:1 个月前 )
960b763e 4 个月前
8c391e04 6 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐