使用 Java 中的 Gson 庫將物件列表轉換為 JSON?


Gson 是一個庫,可用於將Java 物件轉換為 JSON 表示。它還可用於將 JSON 字串轉換為等效的 Java 物件。要使用的主要類是Gson ,我們可以透過呼叫new Gson()建立它,可以使用GsonBuilder 類建立Gson 例項

我們可以先建立一個Person 類,將物件列表轉換為 JSON,然後再轉換 Person 物件列表。

示例

import java.util.*;
import java.util.stream.*;
import com.google.gson.*;
public class JSONConverterTest {
   public static void main( String[] args ) {
      Gson gson = new GsonBuilder().setPrettyPrinting().create();
      List list = Stream.of(new Person("Raja", "Ramesh", 30, "9959984800"),
                            new Person("Jai", "Dev", 25, "7702144400"),
                            new Person("Adithya", "Sai", 21, "7013536200"),
                            new Person("Chaitanya", "Sai", 28, "9656444150"))
                            .collect(Collectors.toList());
      System.out.println("Convert list of person objects to Json:");
      String json = gson.toJson(list); // converts to json
      System.out.println(json);
   }
}
// Person class
class Person {
   private String firstName, lastName, contact;
   private int age;
   public Person(String firstName, String lastName, int age, String contact) {
      this.firstName = firstName;
      this.lastName = lastName;
      this.age = age;
      this.contact = contact;
   }
   public String toString() {
      return "[" + firstName + " " + lastName + " " + age + " " +contact +"]";
   }
}

輸出

Convert list of person objects to Json:
[
{
   "firstName": "Raja",
   "lastName": "Ramesh",
   "contact": "9959984800",
   "age": 30
},
{
   "firstName": "Jai",
   "lastName": "Dev",
   "contact": "7702144400",
   "age": 25
},
{
   "firstName": "Adithya",
   "lastName": "Sai",
   "contact": "7013536200",
   "age": 21
},
{
   "firstName": "Chaitanya",
   "lastName": "Sai",
   "contact": "9656444150",
   "age": 28
}
]

更新日期:2020 年 7 月 4 日

7 千次瀏覽

開啟你的職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.