Java
 Computer >> コンピューター >  >> プログラミング >> Java

JavaでGsonを使用してJava配列またはArrayListをJsonArrayに変換するにはどうすればよいですか?


Java 配列 同じタイプの複数の変数を格納するオブジェクトです 、プリミティブ型とオブジェクト参照を保持し、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"]]}

  1. GSONを使用してArrayListをStringに変換する方法は?

    GSONはJavaライブラリであり、OBJECTをJSONに、JSONをObjectに変換するために使用されます。内部的には、シリアル化と逆シリアル化に基づいて機能します。 この例は、GSONライブラリを使用してArrayListを文字列に変換する方法を示しています。 ステップ1 − Android Studioで新しいプロジェクトを作成し、[ファイル]⇒[新しいプロジェクト]に移動して、新しいプロジェクトを作成するために必要なすべての詳細を入力します。 ステップ2 −build.gradleに次のコードを追加します。 apply plugin: 'com.android.app

  2. Androidで配列をarraylistに変換する方法は?

    この例は、Androidで配列をarraylistに変換する方法を示しています。 ステップ1 − Android Studioで新しいプロジェクトを作成し、[ファイル]⇒[新しいプロジェクト]に移動して、新しいプロジェクトを作成するために必要なすべての詳細を入力します。 ステップ2 −次のコードをres / layout/activity_main.xmlに追加します。 <?xml version = "1.0" encoding = "utf-8"?> <LinearLayout xmlns:android = "htt