如何使用 Java 中的 flexjson 將 JSON 反序列化為 Java 物件?
Flexjson 是一個輕量級 庫,用於將 Java 物件序列化為 JSON 格式,再從 JSON 格式反序列化為 Java 物件,它支援對物件進行深度複製和淺度複製。要執行帶有flexjon的 Java 程式,我們需要匯入一個flexjson 包。我們可以使用JSONDeserializer 類的deserialize()方法將 JSON 反序列化為 Java 物件,它接受一個 json 字串作為輸入,並從該 json 表示形式生成一個靜態型別化的物件圖。預設情況下,它使用 json 資料中的 class 屬性將無型別泛型 json 資料對映到特定的 Java 型別。
語法
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 ]
廣告