Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

จะแปลง JSON เป็น Java Object โดยใช้ไลบรารี Jackson ใน Java ได้อย่างไร


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]