JsonProperty能够将json对应的字段赋值给成员变量吗
时间: 2023-08-05 17:25:16 浏览: 103
python实现将列表中各个值快速赋值给多个变量
是的,@JsonProperty 注解可以将 JSON 数据中对应的字段值赋值给 Java 对象中的成员变量。
例如,如果有如下 JSON 数据:
```json
{
"stu_id": 123,
"name": "张三",
"age": 18
}
```
那么可以使用 @JsonProperty 注解来将 JSON 数据中的字段值赋值给 Java 对象中的成员变量。示例代码如下:
```java
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.ObjectMapper;
public class Demo {
public static void main(String[] args) throws Exception {
ObjectMapper objectMapper = new ObjectMapper();
String json = "{\"stu_id\":123,\"name\":\"张三\",\"age\":18}";
Student student = objectMapper.readValue(json, Student.class);
System.out.println(student.getStuId());
System.out.println(student.getName());
System.out.println(student.getAge());
}
private static class Student {
@JsonProperty("stu_id")
private Integer stuId;
@JsonProperty("name")
private String name;
@JsonProperty("age")
private Integer age;
public Integer getStuId() {
return stuId;
}
public void setStuId(Integer stuId) {
this.stuId = stuId;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}
}
```
在上面的示例代码中,使用 @JsonProperty 注解将 JSON 数据中的 "stu_id" 字段映射到 Java 对象的 stuId 属性,将 "name" 字段映射到 name 属性,将 "age" 字段映射到 age 属性。然后使用 ObjectMapper 对象的 readValue() 方法将 JSON 数据转换为 Java 对象,从而实现了将 JSON 数据中的字段值赋值给 Java 对象中的成员变量的功能。在转换后,可以通过 Java 对象的 getter 方法获取成员变量的值。
阅读全文