एक जावा ऐरे एक ऑब्जेक्ट है जो सेम टाइप के मल्टीपल वेरिएबल्स को स्टोर करता है, यह प्रिमिटिव टाइप्स और ऑब्जेक्ट रेफरेंसेज को होल्ड कर सकता है जबकि JSONArray वैल्यूज का एक ऑर्डर्ड सीक्वेंस है। इसका बाहरी टेक्स्ट फॉर्म कॉमा सेपरेटेड वैल्यूज के साथ स्क्वायर ब्रैकेट्स में रैप्ड स्ट्रिंग है, आंतरिक फॉर्म एक ऑब्जेक्ट है जिसमें इंडेक्स द्वारा वैल्यूज एक्सेस करने के लिए get() और opt() मेथड्स और वैल्यूज जोड़ने या रिप्लेस करने के लिए element() मेथड होता है। पहले चरण में, हम एक Object[] ऐरे बना सकते हैं और इस पैरामीटर को JSONSerializer क्लास के toJSON() मेथड के आर्गुमेंट के रूप में पास कर सकते हैं और JSON ऐरे प्राप्त करने के लिए टाइपकास्ट कर सकते हैं।
उदाहरण
import net.sf.json.JSONArray;
import net.sf.json.JSONSerializer;
public class ConvertArrayToJSONArrayTest {
public static void main(String[] args) {
Object[] objArray = new Object[] {
"Array to JSON Array",
new Integer(10),
new Long(30),
new Double(14.26),
true,
new char[] {'X', 'Y', 'Z'}
};
JSONArray jsonArray = (JSONArray) JSONSerializer.toJSON(objArray);
System.out.println(jsonArray.toString(3)); // प्रिटी प्रिंट JSON
}
}
आउटपुट
[
"Array to JSON Array",
10,
30,
14.26,
true,
[
"X",
"Y",
"Z"
]
]
समर्थित टाइप्स
| जावा टाइप | JSON रिप्रेजेंटेशन |
|---|---|
| String | JSON स्ट्रिंग |
| प्रिमिटिव्स (int, long, double, आदि) | JSON नंबर |
| व्रैपर क्लासेज (Integer, Long, आदि) | JSON नंबर |
| boolean / Boolean | JSON बूलियन (true/false) |
| char / Character | JSON स्ट्रिंग (सिंगल कैरेक्टर) |
| char[] | JSON ऐरे ऑफ स्ट्रिंग्स |
| Object[] | JSON ऐरे (रिकर्सिव) |
| Collection | JSON ऐरे |
| Map | JSON ऑब्जेक्ट |
| बीन (POJO) | JSON ऑब्जेक्ट |
| null | JSON null |
मल्टीडायमेंशनल ऐरे
int[][] matrix = {{1, 2}, {3, 4}, {5, 6}};
JSONArray jsonArray = (JSONArray) JSONSerializer.toJSON(matrix);
// परिणाम: [[1,2],[3,4],[5,6]]
JSON-lib निर्भरताएं
पिछले JSON-lib आर्टिकल्स देखें (1005094121)।
आधुनिक विकल्प (Jackson)
ObjectMapper mapper = new ObjectMapper();
String json = mapper.writeValueAsString(objArray);
// या सीधे
JsonNode node = mapper.valueToTree(objArray);
आधुनिक विकल्प (Gson)
Gson gson = new Gson();
String json = gson.toJson(objArray);
नोट
JSONSerializer.toJSON() ऑटोमैटिकली टाइप डिटेक्ट करता है और उचित JSON स्ट्रक्चर बनाता है। प्रिमिटिव ऐरे (int[]) भी काम करते हैं लेकिन Object[] में बॉक्स हो जाते हैं।