Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java에서 flexjson을 사용하여 JSON을 Java로 역직렬화하는 방법은 무엇입니까?


Flexjson 경량입니다. 직렬화 를 위한 라이브러리 및 역직렬화 객체의 전체 복사본과 얕은 복사본을 모두 허용하는 JSON 형식의 Java 개체 . flexjon으로 자바 프로그램을 실행하려면 , flexjson 을 가져와야 합니다. 패키지 . deserialize()를 사용하여 JSON에서 Java로 역직렬화할 수 있습니다. JSONDeserializer 메소드 클래스에서 json 문자열을 입력으로 받아 해당 json 표현에서 정적 유형의 개체 그래프를 생성합니다. 기본적으로 유형이 지정되지 않은 일반 json 데이터를 특정 Java 유형으로 매핑하기 위해 json 데이터의 class 속성을 사용합니다.

구문

public T deserialize(String input)

아래 프로그램에서 JSON을 Java 개체로 역직렬화

예시

import flexjson.*;
public class DeserializeJSONTest {
   public static void main(String[] args) {
      JSONDeserializer<Student> deserializer = new JSONDeserializer<Student>();
      String jsonStr =
                  "{" +
                  "\"firstName\": \"Ravi\"," +
                  "\"lastName\": \"Chandra\"," +
                  "\"age\": 35," +
                  "\"class\": \"Student\"," +
                  "\"salary\": 50000.00," +
                  "}";
      Student student = deserializer.deserialize(jsonStr);
      System.out.println(student);
   }
}
// Student class
class Student {
   private String firstName;
   private String lastName;
   private int age;
   private double salary;
   public Student() {}
   public Student(String firstName, String lastName, int age, double salary) {
      super();
      this.firstName = firstName;
      this.lastName = lastName;
      this.age = age;
      this.salary = salary;
   }
   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 int getAge() {
      return age;
   }
   public void setAge(int age) {
      this.age = age;
   }
   public double getSalary() {
      return salary;
   }
   public void setSalary(double salary) {
      this.salary = salary;
   }
   public String toString() {
      return "Student[ " +
      "firstName = " + firstName +
      ", lastName = " + lastName +
      ", age = " + age +
      ", salary = " + salary +
      " ]";
   }
}

출력

Student[ firstName = Ravi, lastName = Chandra, age = 35, salary = 50000.0 ]