使用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转换为复杂的实体类
				
        
 
            
        基础教程推荐
             猜你喜欢
        
	     - 使用Java和WebSocket实现网页聊天室实例代码 2024-02-25
 - JSP 动态树的实现 2023-12-17
 - 是否适合从javabean类更新数据库? 2023-11-04
 - springboot下使用shiro自定义filter的个人经验分享 2024-02-27
 - Java中EnvironmentAware 接口的作用 2023-01-23
 - Java编写实现窗体程序显示日历 2023-01-02
 - Java+mysql实现学籍管理系统 2023-03-16
 - 运用El表达式截取字符串/获取list的长度实例 2023-08-01
 - 深入理解约瑟夫环的数学优化方法 2024-03-07
 - JavaWeb 实现验证码功能(demo) 2024-04-14
 
    	
    	
    	
    	
    	
    	
    	
    	
						
						
						
						
						
				
				
				
				