जावा ऐरे ऑब्जेक्ट्स हैं जो सेम टाइप के मल्टीपल वेरिएबल्स को स्टोर करते हैं, यह प्रिमिटिव टाइप्स और ऑब्जेक्ट रेफरेंसेज को होल्ड करता है और एक 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"]]}
सरल उदाहरण
// प्रिमिटिव ऐरे
int[] intArray = {1, 2, 3, 4, 5};
JsonArray jsonArray = new Gson().toJsonTree(intArray).getAsJsonArray();
// [1,2,3,4,5]
// String ऐरे
String[] strArray = {"A", "B", "C"};
JsonArray jsonArray = new Gson().toJsonTree(strArray).getAsJsonArray();
// ["A","B","C"]
// ArrayList
List<String> list = Arrays.asList("X", "Y", "Z");
JsonArray jsonArray = new Gson().toJsonTree(list).getAsJsonArray();
// ["X","Y","Z"]
सीधे JsonArray बनाना
JsonArray array = new JsonArray();
array.add("value1");
array.add(123);
array.add(true);
array.add(new JsonObject().addProperty("nested", "value"));
JsonArray उपयोगी मेथड्स
| मेथड | विवरण |
|---|---|
| add(element) | एलिमेंट जोड़ें (प्रिमिटिव, String, JsonElement) |
| get(index) | इंडेक्स द्वारा JsonElement प्राप्त करें |
| getAsString() | स्ट्रिंग के रूप में प्राप्त करें |
| getAsInt() / getAsLong() / getAsDouble() | नंबर के रूप में प्राप्त करें |
| getAsBoolean() | बूलियन के रूप में प्राप्त करें |
| size() | एलिमेंट्स की संख्या |
| iterator() | इटरेटर प्राप्त करें |
| remove(index) | इंडेक्स पर एलिमेंट हटाएं |
टाइप-सेफ कन्वर्जन (Java 8+)
// TypeToken के साथ
Type listType = new TypeToken<List<String>>(){}.getType();
List<String> list = gson.fromJson(jsonArray, listType);
// सीधे ऐरे में
String[] array = gson.fromJson(jsonArray, String[].class);
निर्भरता (Maven)
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.10.1</version>
</dependency>
नोट
toJsonTree() किसी भी जावा ऑब्जेक्ट को JsonElement ट्री में कन्वर्ट करता है। ऐरे/कलेक्शन के लिए, यह JsonArray रिटर्न करता है। यह Gson में JSON ट्री मॉडल बनाने का मानक तरीका है।