spring默认使用的是jackson处理json的序列化和反序列化,@JsonProperty是Jackson的注解,常用于属性上。
-
<dependency>
-
<groupId>com.fasterxml.jackson.core</groupId>
-
<artifactId>jackson-databind</artifactId>
-
<version>2.5.3</version>
-
</dependency>
@JsonProperty 此注解用于属性上,作用是把该属性的名称序列化为另外一个名称,
@JsonProperty(value = "DeptProdID") private String deptProdID; @JsonProperty(value = "DpType") private Integer dpType;
@JsonProperty(value = “dpt_id”, required = true)
private String scheduleId;
@JsonProperty(value = “triggers”, required = true)
private List triggers;
value属性:代表该属性序列化和反序列化的时候的key值。
required属性:默认false,例如当required=false的时候,当反序列化的时候没有找到key值,就会报错。
例如:
@JsonProperty(value = “dpt_id”, required = true)
private String scheduleId;
可以使用Map传输数据,Map的key=dpt_id对应的value值就是scheduleld的值,而不用使用对象传递数据,用属性的getXXX方法获取。