如何在Java中使用Jackson库将JSON转换为Java对象?

2023年 9月 2日 42.5k 0

如何在Java中使用Jackson库将JSON转换为Java对象?

ObjectMapper类是 Jackson 库中最重要的类。我们可以使用ObjectMapper类的readValue()方法将JSON转换为Java对象,该方法从给定的JSON内容字符串反序列化JSON内容。

语法

public readValue(String content, JavaType valueType) throws IOException, JsonParseException, JsonMappingException

登录后复制

示例

import java.io.*;
import java.util.*;
import com.fasterxml.jackson.core.*;
import com.fasterxml.jackson.databind.*;
public class JSONToJavaObjectTest {
public static void main(String args[]) throws JsonGenerationException, JsonMappingException, IOException {
Employee emp1 = new Employee();
emp1.setFirstName("Raja");
emp1.setLastName("Ramesh");
emp1.setId(115);
emp1.getTechnologies().add("Java");
emp1.getTechnologies().add("Selenium");
emp1.getTechnologies().add("Spark");
ObjectMapper mapper = new ObjectMapper();
String jsonStr = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(emp1);
System.out.println(jsonStr);
System.out.println("Deserializing JSON to Object:");
Employee emp2 = mapper.readValue(jsonStr, Employee.class);
System.out.println(emp2.getId() + " " + emp2.getFirstName() + " " + emp2.getLastName() + " " + emp2.getTechnologies());
}
}
// Employee class
class Employee {
private int id;
private String firstName;
private String lastName;
private List technologies = new ArrayList();
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public List getTechnologies() {
return technologies;
}
public void setTechnologies(List technologies) {
this.technologies = technologies;
}
}

登录后复制

输出

{
"id" : 115,
"firstName" : "Raja",
"lastName" : "Ramesh",
"technologies" : [ "Java", "Selenium", "Spark" ]
}
Deserializing JSON to Object:
115 Raja Ramesh [Java, Selenium, Spark]

登录后复制

以上就是如何在Java中使用Jackson库将JSON转换为Java对象?的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论