指定json的key
要在序列化JavaBean时指定JSON的key,可以使用@JsonProperty
注解来指定JavaBean属性序列化到JSON时使用的key。以下是一个简单的示例:
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.ObjectMapper;public class Example {public static void main(String[] args) throws Exception {User user = new User();user.setId(1);user.setName("张三");ObjectMapper mapper = new ObjectMapper();String json = mapper.writeValueAsString(user);System.out.println(json);}public static class User {private int id;@JsonProperty("username")private String name;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}}
}
在上面的例子中,User
类有一个属性name
,通过在该属性上使用@JsonProperty("username")
注解,我们指定了当User
对象被序列化为JSON时,name
属性对应json的key应该是username
。因此,输出的JSON字符串中,原本应该是"name":"张三"
的部分会变成"username":"张三"
。