如何使用 Java 中的 Jackson 更改 JSON 中的字段名称?
javajsonobject oriented programmingprogramming更新于 2025/7/14 1:48:17
Jackson 注释 @JsonProperty 在 JSON 的 序列化 或 反序列化 期间用于属性或方法。它需要一个可选的 ‘name’ 参数,当属性名称与 JSON 中的 ‘key’ name 不同时,该参数非常有用。默认情况下,如果键名与属性名匹配,则值将映射到属性值。
在下面的示例中,我们可以使用 @JsonProperty 注释 在 JSON 中更改字段名称。
示例
import java.io.IOException;
import com.fasterxml.jackson.databind.*;
import com.fasterxml.jackson.annotation.JsonProperty;
public class JsonPropertyAnnotationTest {
public static void main(String[] args) throws IOException {
ObjectMapper mapper = new ObjectMapper();
mapper.enable(SerializationFeature.INDENT_OUTPUT);
User user = new User("Sai", "Adithya", "9959984000", "0402358700");
String data = mapper.writeValueAsString(user);
System.out.println(data);
}
}
// User class
class User {
@JsonProperty("first-name")
public String firstName;
@JsonProperty("last-name")
public String lastName;
@JsonProperty("mobile-phone")
public String mobilePhone;
@JsonProperty("home_phone") public String workPhone;
public User(String firstName, String lastName, String mobilePhone, String workPhone) {
super();
this.firstName = firstName;
this.lastName = lastName;
this.mobilePhone = mobilePhone;
this.workPhone = workPhone;
}
}
输出
{
"first-name" : "Sai",
"last-name" : "Adithya",
"mobile-phone" : "9959984000",
"home_phone" : "0402358700"
}
相关文章
有用资源
java 参考教程 - 该教程包含有关 java 的更多信息:https://www.cainiaomax.com/java/

