Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java에서 Gson을 사용하여 Java 배열 또는 ArrayList를 JsonArray로 변환하는 방법은 무엇입니까?


자바 배열 동일한 유형의 변수를 여러 개 저장하는 개체입니다. , 기본 유형과 객체 참조를 보유하고 ArrayList는 크기 조정 가능한 객체 목록을 나타낼 수 있습니다. 목록을 사용하여 요소를 추가, 제거, 찾기, 정렬 및 교체할 수 있습니다. JsonArray 문자열에서 텍스트를 구문 분석하여 벡터를 생성할 수 있습니다. -같은 물건. toJsonTree().getAsJsonArray()를 사용하여 배열 또는 ArrayList를 JsonArray로 변환할 수 있습니다. Gson 의 방법 수업.

구문

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"]]}