Java属性中指定Json的属性名称(序列化和反序列化)

序列化对象,只需要使用注解"@JsonProperty(value = "pwd")"

import com.fasterxml.jackson.annotation.JsonProperty;

public class User{
      @JsonProperty(value = "pwd")
      private String password;  
}

比如上面例子,在作为请求接收Json格式的Body时,Body中有key为"pwd"的属性,但是Java类中属性名却与key不一致的情况。

利用ObjectMapper反序列化解析对象时,将属性重命名,可以直接使用@JsonProperty 注解;

利用fastJson反序列化解析对象时,将属性重命名,使用@com.alibaba.fastjson.annotation.JSONField 注解:

@JSONField(name = "_id")
private String mid;

如上面的例子,接受的Json格式字符串有个属性名为"_id",使用JSONField接收,解析后的对象的属性名为mid。

原文地址:https://www.cnblogs.com/theRhyme/p/10676611.html