জাভা অ্যারে একই টাইপের একাধিক ভেরিয়েবল সংরক্ষণকারী অবজেক্ট, প্রিমিটিভ টাইপ এবং অবজেক্ট রেফারেন্স ধারণ করে। ArrayList অবজেক্টের রিসাইজেবল লিস্ট রিপ্রেজেন্ট করে। এড, রিমুভ, ফাইন্ড, সর্ট, রিপ্লেস করা যায়। JsonArray স্ট্রিং থেকে টেক্সট পার্স করে ভেক্টর-লাইক অবজেক্ট প্রডিউস করে। 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();
// অ্যারে থেকে JsonArray
JsonArray jsonArray1 = new Gson().toJsonTree(strArray).getAsJsonArray();
// ArrayList থেকে 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"]]}
ব্যাখ্যা
- 2D স্ট্রিং অ্যারে → 2D JsonArray (নেস্টেড অ্যারে)
- ArrayList<ArrayList<String>> → 2D JsonArray
- toJsonTree() → JsonElement রিটার্ন করে, getAsJsonArray() দিয়ে কাস্ট
সিম্পল অ্যারে/লিস্টের জন্য
// String[]
String[] arr = {"a", "b", "c"};
JsonArray jsonArray = new Gson().toJsonTree(arr).getAsJsonArray();
// List<String>
List<String> list = Arrays.asList("a", "b", "c");
JsonArray jsonArray = new Gson().toJsonTree(list).getAsJsonArray();
// প্রিমিটিভ অ্যারে (int[]) - Gson 2.10+ এ সাপোর্ট
int[] intArr = {1, 2, 3};
JsonArray jsonArray = new Gson().toJsonTree(intArr).getAsJsonArray();