Computer >> Máy Tính >  >> Lập trình >> Java

Làm cách nào để giải mã hóa một đối tượng JSON sang Java bằng cách sử dụng flexjson trong Java?


Flexjson là một nhẹ thư viện để tuần tự hóa deserializing Các đối tượng Java thành và từ định dạng JSON cho phép cả bản sao sâu và nông của đối tượng . Để chạy chương trình Java với flexjon , chúng tôi cần nhập flexjson gói . Chúng tôi có thể giải mã hóa một đối tượng JSON sang Java bằng cách sử dụng deserialize () phương thức của JSONDeserializer lớp, nó nhận đầu vào là một chuỗi json và tạo ra một đồ thị đối tượng được định kiểu tĩnh từ biểu diễn json đó. Theo mặc định, nó sử dụng thuộc tính lớp trong dữ liệu json để ánh xạ dữ liệu json chung chưa định kiểu thành một kiểu Java cụ thể.

Cú pháp

public T deserialize(String input)

Trong chương trình dưới đây, giải mã hóa một đối tượng JSON thành Java

Ví dụ

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 +
      " ]";
   }
}

Đầu ra

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