কম্পিউটার টিউটোরিয়াল

Gson-এ Java অ্যারে বা ArrayList থেকে JsonArray কনভার্ট

জাভা অ্যারে একই টাইপের একাধিক ভেরিয়েবল সংরক্ষণকারী অবজেক্ট, প্রিমিটিভ টাইপ এবং অবজেক্ট রেফারেন্স ধারণ করে। 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();
  1. জাভা-তে ArrayList ইনিশিয়ালাইজেশন: একটি গাইড

  2. জাভা স্ট্রিংকে চার অ্যারে-তে কনভার্ট করার পদ্ধতি

  3. GSON লাইব্রেরি ব্যবহার করে ArrayList কে String-এ কনভার্ট করা

  4. অ্যান্ড্রয়েডে অ্যারে থেকে ArrayList-এ রূপান্তর করার পদ্ধতি