JSONArray वैल्यूज का एक क्रम है, बाहरी टेक्स्ट कॉमा सेपरेटेड वैल्यूज के साथ स्क्वायर ब्रैकेट्स में संलग्न एक स्ट्रिंग है और आंतरिक टेक्स्ट एक ऑब्जेक्ट है जिसमें get() और opt() मेथड्स होते हैं, हमें इंडेक्स द्वारा उन वैल्यूज को एक्सेस करने की आवश्यकता होती है। एलिमेंट्स को जोड़ने या रिप्लेस करने के लिए element() मेथड। एक ऐरे एक ऑब्जेक्ट है जो सेम टाइप की मल्टीपल वैल्यूज को स्टोर करता है। यह प्रिमिटिव टाइप्स और ऑब्जेक्ट रेफरेंसेज दोनों को होल्ड कर सकता है। हम JSONArray क्लास के toArray() मेथड का उपयोग करके JSON ऐरे को ऐरे में कन्वर्ट कर सकते हैं। यह मेथड JSONArray के कंटेंट्स के साथ एक Object[] प्रोड्यूस करता है।
सिंटैक्स
public Object[] toArray()
उदाहरण
import java.util.Arrays;
import net.sf.json.JSONArray;
public class ConvertJSONArrayToArrayTest {
public static void main(String[] args) {
JSONArray jsonArray = new JSONArray()
.element("Raja Ramesh")
.element("115")
.element("Tutorials Point")
.element("Hyderabad")
.element(new String[] {"Java", "Testing", "Python"});
String jsonStr = jsonArray.toString(3); // प्रिटी प्रिंट JSON
System.out.println("JSON:\n" + jsonStr);
Object[] array = jsonArray.toArray();
System.out.println("-------------------------------------------------------------------");
System.out.println("Array:\n" + Arrays.toString(array));
}
}
आउटपुट
JSON:
[
"Raja Ramesh",
"115",
"Tutorials Point",
"Hyderabad",
[
"Java",
"Testing",
"Python"
]
]
-------------------------------------------------------------------
Array:
[Raja Ramesh, 115, Tutorials Point, Hyderabad, ["Java","Testing","Python"]]
मुख्य बिंदु
- रिटर्न टाइप: Object[] (जेनेरिक टाइप नहीं, क्योंकि JSONArray मिक्स्ड टाइप्स होल्ड कर सकता है)
- नेस्टेड ऐरे: नेस्टेड JSONArray भी Object[] के रूप में कन्वर्ट होता है
- प्रिमिटिव्स: प्रिमिटिव वैल्यूज उनके व्रैपर टाइप्स में कन्वर्ट होती हैं (int → Integer)
टाइप-सेफ कन्वर्जन
// String[] के लिए
String[] stringArray = jsonArray.toArray(new String[0]);
// विशिष्ट टाइप के लिए कस्टम कन्वर्जन
List<String> list = new ArrayList<>();
for (Object obj : jsonArray) {
if (obj instanceof String) {
list.add((String) obj);
}
}
String[] safeArray = list.toArray(new String[0]);
JSON-lib निर्भरताएं
पिछले आर्टिकल (1005094121) में दी गई Maven निर्भरताओं के समान।
आधुनिक विकल्प (Jackson)
ObjectMapper mapper = new ObjectMapper();
String[] array = mapper.readValue(jsonString, String[].class);
// या
List<String> list = mapper.readValue(jsonString, new TypeReference<List<String>>() {});
नोट
JSON-lib लिगेसी लाइब्रेरी है। नए प्रोजेक्ट्स के लिए Jackson, Gson, या JSON-B का उपयोग करें जो टाइप-सेफ कन्वर्जन और बेहतर परफॉरमेंस प्रदान करते हैं।