@JsonProperty怎么用
时间: 2023-07-05 11:20:24 浏览: 116
@JsonProperty 是 Jackson 库提供的一个注解,用于在 Java 对象和 JSON 数据之间进行映射。在 Java 对象中使用 @JsonProperty 注解来指定属性在 JSON 数据中对应的字段名字,从而实现 Java 对象和 JSON 数据之间的转换。
下面是一个使用 @JsonProperty 注解的示例:
```java
import com.fasterxml.jackson.annotation.JsonProperty;
public class Student {
@JsonProperty("stu_id")
private Integer stuId;
@JsonProperty("name")
private String name;
@JsonProperty("age")
private Integer age;
// 构造函数、getter 和 setter 等省略
}
```
在上面的示例中,使用 @JsonProperty 注解来指定 Java 对象中的属性与 JSON 数据中的字段名之间的映射关系。例如,将 stuId 属性映射到 JSON 数据中的 "stu_id" 字段,将 name 属性映射到 "name" 字段,将 age 属性映射到 "age" 字段。
在使用 Jackson 库进行对象和 JSON 数据之间的转换时,可以使用 ObjectMapper 类来实现。例如,将一个 Student 对象转换成 JSON 数据的示例代码如下:
```java
import com.fasterxml.jackson.databind.ObjectMapper;
public class Demo {
public static void main(String[] args) throws Exception {
ObjectMapper objectMapper = new ObjectMapper();
Student student = new Student();
student.setStuId(123);
student.setName("张三");
student.setAge(18);
String json = objectMapper.writeValueAsString(student);
System.out.println(json);
}
}
```
在上面的代码中,使用 ObjectMapper 类的 writeValueAsString() 方法将 Student 对象转换成 JSON 数据。在转换时,Jackson 库会自动根据 @JsonProperty 注解中定义的字段名进行转换。例如,将 stuId 属性转换成 "stu_id" 字段,将 name 属性转换成 "name" 字段,将 age 属性转换成 "age" 字段。
阅读全文