Friday, May 14, 2021

How to convert Java array or ArrayList to JsonArray

A JsonArray can parse text from a string to produce a vector-like object. We can convert an array or ArrayList to JsonArray using the toJsonTree().getAsJsonArray() method of Gson class

 Syntax

public JsonElement toJsonTree(java.lang.Object src)

Example

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

   }

}

Output

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

No comments:

Post a Comment