使用ObjectMapper把JSON转换为复杂的实体类的方法如下:
使用ObjectMapper把JSON转换为复杂的实体类的方法如下:
1.引入ObjectMapper库
在项目中引入ObjectMapper依赖即可,可以使用Maven或Gradle等构建工具。
Maven:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson.version}</version>
</dependency>
Gradle:
implementation 'com.fasterxml.jackson.core:jackson-databind:2.12.4'
2.创建实体类
创建需要转换的实体类,并在其中定义变量名与JSON中的键名相同的变量。
public class Person {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
3.将JSON解析成需要转换的实体类
使用ObjectMapper类的方法把JSON解析成需要转换的实体类。
ObjectMapper objectMapper = new ObjectMapper();
Person person = objectMapper.readValue(json, Person.class);
其中,json是需要解析的JSON字符串,Person.class是需要转换成的实体类的类型。
4.示例说明
下面是JSON字符串解析成Person实体类的代码示例:
String json = "{ \"name\": \"Alice\", \"age\": 20 }";
ObjectMapper objectMapper = new ObjectMapper();
Person person = objectMapper.readValue(json, Person.class);
System.out.println(person.getName() + ", " + person.getAge());
输出结果为:
Alice, 20
另外,如果JSON中包含List或Map等复杂数据类型,也可以通过类似定义实体类的方式解析。例如,下面是JSON字符串解析成包含List的实体类的代码示例:
public class People {
private List<Person> personList;
public List<Person> getPersonList() {
return personList;
}
public void setPersonList(List<Person> personList) {
this.personList = personList;
}
}
解析JSON字符串:
String json = "{ \"personList\": [{ \"name\": \"Alice\", \"age\": 20 }, { \"name\": \"Bob\", \"age\": 25 }] }";
ObjectMapper objectMapper = new ObjectMapper();
People people = objectMapper.readValue(json, People.class);
System.out.println(people.getPersonList().get(0).getName() + ", " + people.getPersonList().get(0).getAge());
System.out.println(people.getPersonList().get(1).getName() + ", " + people.getPersonList().get(1).getAge());
输出结果为:
Alice, 20
Bob, 25
织梦狗教程
本文标题为:使用ObjectMapper把Json转换为复杂的实体类


基础教程推荐
猜你喜欢
- Mybatis的mapper.xml中if标签test判断的用法说明 2022-12-07
- SpringBoot超详细讲解yaml配置文件 2023-01-24
- java语言自行实现ULID过程底层原理详解 2023-06-17
- JSP技术实现RSS订阅功能的示例 2023-08-02
- JSP 获取本地图片的实例详解 2023-07-31
- SpringCloud Netflix Ribbon超详细讲解 2023-06-30
- 详解RSA加密算法的原理与Java实现 2023-06-17
- JavaScript实现简易登录注册页面 2024-01-18
- JQuery标签页效果实例详解 2024-01-16
- SpringBoot整合atomikos实现跨库事务的详细方案 2022-12-02