如何使用 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"]]}
廣告