// 定义一个简单的Java实体类,用于演示JSON转Java实体类的过程
import com.fasterxml.jackson.annotation.JsonProperty;
public class User {
// 定义类的属性
@JsonProperty("id")
private int id;
@JsonProperty("name")
private String name;
@JsonProperty("email")
private String email;
// 无参构造函数
public User() {}
// 有参构造函数
public User(int id, String name, String email) {
this.id = id;
this.name = name;
this.email = email;
}
// Getter 和 Setter 方法
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;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
// 重写toString方法,方便打印对象信息
@Override
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + '\'' +
", email='" + email + '\'' +
'}';
}
}
// 使用Jackson库将JSON字符串转换为Java实体类对象的示例代码
import com.fasterxml.jackson.databind.ObjectMapper;
public class JsonToJavaExample {
public static void main(String[] args) {
// 示例JSON字符串
String jsonString = "{\"id\":1,\"name\":\"John\",\"email\":\"john@example.com\"}";
try {
// 创建ObjectMapper实例
ObjectMapper objectMapper = new ObjectMapper();
// 将JSON字符串转换为User对象
User user = objectMapper.readValue(jsonString, User.class);
// 打印转换后的User对象
System.out.println(user);
} catch (Exception e) {
e.printStackTrace();
}
}
}
User
:定义了一个简单的Java类,包含三个属性:id
、name
和 email
。使用了 @JsonProperty
注解来确保 JSON 字段名与 Java 属性名一致。toString()
方法:重写了 toString()
方法,方便打印对象信息。ObjectMapper
类将 JSON 字符串转换为 Java 实体类对象。通过 readValue()
方法实现转换,并最终打印出转换后的对象。如果你没有安装 Jackson 库,可以通过 Maven 或 Gradle 添加依赖:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.13.0</version>
</dependency>
implementation 'com.fasterxml.jackson.core:jackson-databind:2.13.0'
上一篇:java是面向对象的吗
下一篇:java append
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站