如何使用 Java 中的 flexjson 从 Reader 流中反序列化 Java 对象?


Flexjson 是一个轻量级库,用于将 Java 对象序列化和反序列化为 JSON 格式。我们可以使用JSONDeserializer 类的deserialize()方法,从 Reader 流中反序列化一个 Java 对象,该方法使用Reader 的一个实例作为 JSON 输入。

语法

public T deserialize(Reader input)

示例

import java.io.*;
import flexjson.JSONDeserializer;
public class JSONDeserializeReaderTest {
   public static void main(String[] args) {
      JSONDeserializer<Student> deserializer = new JSONDeserializer<Student>();
      String jsonStr =
                       "{" +
                        "\"firstName\": \"Adithya\"," +
                        "\"lastName\": \"Sai\"," +
                        "\"age\": 25," +
                        "\"address\": \"Hyderabad\"" +
                        "\"class\": \"Student\"" +
                       "}";
      Student student = deserializer.deserialize(new StringReader(jsonStr));
      System.out.println(student);
   }
}
// Student class
class Student {
   private String firstName;
   private String lastName;
   private int age;
   private String address;
   public Student() {}
   public Student(String firstName, String lastName, int age, String address) {
      super();
      this.firstName = firstName;
      this.lastName = lastName;
      this.age = age;
      this.address = address;
   }
   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 String getAddress() {
      return address;
   }
   public void setAddress(String address) {
      this.address = address;
   }
   public String toString() {
      return "Student[ " +
      "firstName = " + firstName +
      ", lastName = " + lastName +
      ", age = " + age +
      ", address = " + address +
      " ]";
   }
}

输出

Student[ firstName = Adithya, lastName = Sai, age = 25, address = Hyderabad ]

更新于:2020 年 7 月 7 日

316 次浏览

开启你的 职业生涯

完成课程获得认证

开始吧
广告
© . All rights reserved.