The ObjectMapper คลาสเป็นคลาสที่สำคัญที่สุดในห้องสมุดแจ็คสัน เราสามารถแปลง JSON เป็น Java Object โดยใช้ readValue() วิธีการของ ObjectMapper คลาส เมธอดนี้ยกเลิกการซีเรียลไลซ์เนื้อหา JSON จากสตริงเนื้อหา JSON ที่กำหนด
ไวยากรณ์
public <T> 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]