指定json的key
要在序列化JavaBean时指定JSON的key,可以使用@JsonProperty
注解来指定JavaBean属性序列化到JSON时使用的key。以下是一个简单的示例:
java
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":"张三"
。