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)其它相关文章!