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

你可能感兴趣的:(jackson,java)