Computer >> Máy Tính >  >> Lập trình >> Java

Làm thế nào để chuyển đổi mảng Java hoặc ArrayList sang JsonArray bằng cách sử dụng Gson trong Java?


Java Mảng là các đối tượng lưu trữ nhiều biến cùng loại , nó chứa các kiểu nguyên thủy và các tham chiếu đối tượng và ArrayList có thể đại diện cho một danh sách các đối tượng có thể thay đổi kích thước. Chúng ta có thể thêm, bớt, tìm, sắp xếp và thay thế các phần tử bằng cách sử dụng danh sách. A JsonArray có thể phân tích cú pháp văn bản từ một chuỗi để tạo ra vectơ -như đối tượng. Chúng tôi có thể chuyển đổi một mảng hoặc ArrayList thành JsonArray bằng cách sử dụng toJsonTree (). GetAsJsonArray () phương pháp của Gson lớp học.

Cú pháp

public JsonElement toJsonTree(java.lang.Object src)

Ví dụ

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());
   }
}

Đầu ra

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