net.sf.json.JSONArray वैल्यूज का एक ऑर्डर्ड सीक्वेंस है। इसका बाहरी टेक्स्ट फॉर्म कॉमा सेपरेटेड वैल्यूज के साथ स्क्वायर ब्रैकेट्स में रैप्ड स्ट्रिंग है और आंतरिक फॉर्म एक ऑब्जेक्ट है जिसमें इंडेक्स द्वारा वैल्यूज एक्सेस करने के लिए get() और opt() मेथड्स, और वैल्यूज जोड़ने या रिप्लेस करने के लिए element() मेथड होता है। वैल्यूज इनमें से किसी भी टाइप की हो सकती हैं: बूलियन, JSONArray, JSONObject, नंबर, स्ट्रिंग और JSONNull ऑब्जेक्ट।
उदाहरण
import java.util.*;
import net.sf.json.JSONArray;
import net.sf.json.JSONSerializer;
public class ConvertCollectionToJsonArrayTest {
public static void main(String[] args) {
List<String> strList = Arrays.asList("India", "Australia", "England", "South Africa");
JSONArray jsonArray = (JSONArray) JSONSerializer.toJSON(strList);
System.out.println(jsonArray.toString(3)); // प्रिटी प्रिंट JSON
List<Object> mixedList = Arrays.asList("List Data", 50, 99, 50.65, true, new String[]{"X", "Y", "Z"});
JSONArray jsonArray2 = (JSONArray) JSONSerializer.toJSON(mixedList);
System.out.println(jsonArray2.toString(3));
}
}
आउटपुट
[
"India",
"Australia",
"England",
"South Africa"
]
[
"List Data",
50,
99,
50.65,
true,
[
"X",
"Y",
"Z"
]
]
समर्थित कलेक्शन टाइप्स
| कलेक्शन टाइप | JSON आउटपुट |
|---|---|
| List (ArrayList, LinkedList) | JSON ऐरे |
| Set (HashSet, TreeSet) | JSON ऐरे (ऑर्डर सेट पर निर्भर) |
| Queue (PriorityQueue, आदि) | JSON ऐरे |
| Collection (इंटरफेस) | JSON ऐरे |
महत्वपूर्ण नोट्स
- Set ऑर्डरिंग: HashSet का ऑर्डर अनप्रेडिक्टेबल है, TreeSet सॉर्टेड ऑर्डर देगा
- मिक्स्ड टाइप्स: List<Object> अलग-अलग टाइप्स को होल्ड कर सकता है (स्ट्रिंग, नंबर, बूलियन, ऐरे)
- नेस्टेड कलेक्शन्स: List<List<String>> नेस्टेड JSON ऐरे बनाता है
null एलिमेंट्स: JSON null के रूप में सीरियलाइज होते हैं
कस्टम ऑब्जेक्ट्स के साथ कलेक्शन
List<Employee> employees = Arrays.asList(
new Employee("John", 30),
new Employee("Jane", 25)
);
JSONArray jsonArray = (JSONArray) JSONSerializer.toJSON(employees);
// प्रत्येक Employee बीन JSON ऑब्जेक्ट बन जाता है
आधुनिक विकल्प (Jackson)
ObjectMapper mapper = new ObjectMapper();
List<String> list = Arrays.asList("A", "B", "C");
String json = mapper.writeValueAsString(list);
// या
JsonNode node = mapper.valueToTree(list);
आधुनिक विकल्प (Gson)
Gson gson = new Gson();
List<String> list = Arrays.asList("A", "B", "C");
String json = gson.toJson(list);
JSON-lib निर्भरताएं
पिछले JSON-lib आर्टिकल्स देखें (1005094121)।
नोट
JSONSerializer.toJSON() किसी भी Collection इम्प्लीमेंटेशन को हैंडल कर सकता है। यह कलेक्शन को इटरेट करता है और प्रत्येक एलिमेंट को JSON वैल्यू में कन्वर्ट करता है।