如何使用 Java 中的 Gson 將 Java 陣列或 ArrayList 轉換為 JsonArray?


Java 陣列是儲存同類型變數的物件,它儲存基元型別和物件引用,而 ArrayList 可以表示一個可調整大小的物件列表。我們可以使用列表新增、移除、查詢、分類和替換元素。JsonArray可以從字串中解析文字以生成一個類似於vector的物件。我們可以使用Gson類的toJsonTree().getAsJsonArray()方法將陣列或 ArrayList 轉換為 JsonArray。

語法

public JsonElement toJsonTree(java.lang.Object src)

範例

import com.google.gson.*;
import java.util.*;
public class JavaArrayToJsonArrayTest {
   public static void main(String args[]) {
      String[][] strArray = {{"elem1-1", "elem1-2"}, {"elem2-1", "elem2-2"}};
      ArrayList<ArrayList<String>> arrayList = new ArrayList<>();
      for(int i = 0; i < strArray.length; i++) {
         ArrayList<String> nextElement = new ArrayList<>();
         for(int j = 0; j < strArray[i].length; j++) {
            nextElement.add(strArray[i][j] + "-B");
         }
         arrayList.add(nextElement);
      }
      JsonObject jsonObj = new JsonObject();
      // array to JsonArray
      JsonArray jsonArray1 = new Gson().toJsonTree(strArray).getAsJsonArray();
      // ArrayList to JsonArray
      JsonArray jsonArray2 = new Gson().toJsonTree(arrayList).getAsJsonArray();
      jsonObj.add("jsonArray1", jsonArray1);
      jsonObj.add("jsonArray2", jsonArray2);
      System.out.println(jsonObj.toString());
   }
}

輸出

{"jsonArray1":[["elem1-1","elem1-2"],["elem2-1","elem2-2"]],"jsonArray2":[["elem1-1-B","elem1-2-B"],["elem2-1-B","elem2-2-B"]]}

更新時間:2020 年 7 月 8 日

6 千次以上的瀏覽

開啟你的 職業

完成課程獲得認證

開始
廣告