我們如何在 Java 中使用 flexjson 序列化物件列表?


Flexjson 是一個輕量級庫,用於對 Java 物件進行序列化 反序列化 JSON 格式,反之亦然。我們可以使用JSONSerializer 類的serialize() 方法對物件列表進行序列化。此方法可以對目標例項執行淺層 序列化。我們需要將List 型別的物件列表作為引數傳遞給serialize() 方法。

語法

public String serialize(Object target)

示例

import flexjson.JSONSerializer;
import java.util.*;
public class JsonSerializeListTest {
   public static void main(String[] args) {
      JSONSerializer serializer = new JSONSerializer().prettyPrint(true); // pretty print JSON
      Student s1 = new Student("Raja", "Ramesh", 28, "Hyderabad");
      Student s2 = new Student("Suresh", "Kumar", 30, "Chennai");
      Student s3 = new Student("Surya", "Krishna", 35, "Pune");
      List<Student> students = Arrays.asList(s1, s2, s3);
      String jsonStr = serializer.serialize(students);
      System.out.println(jsonStr);
   }
}
// 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 String getLastName() {
      return lastName;
   }
   public int getAge() {
      return age;
   }
   public String getAddress() {
     return address;
   }
   public String toString() {
      return "Student[ " +
      "firstName = " + firstName +
      ", lastName = " + lastName +
      ", age = " + age +
      ", address = " + address +
      " ]";
   }
}

輸出

[
 {
    "address": "Hyderabad",
    "age": 28,
    "class": "Student",
    "firstName": "Raja",
    "lastName": "Ramesh"
 },
 {
    "address": "Chennai",
    "age": 30,
    "class": "Student",
    "firstName": "Suresh",
    "lastName": "Kumar"
 },
 {
    "address": "Pune",
    "age": 35,
    "class": "Student",
    "firstName": "Surya",
    "lastName": "Krishna"
 }
]

更新於: 06-Jul-2020

1K+ 次瀏覽

開啟您的 事業

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.