जावा में JSON पार्सिंग: शून्य से कार्यशील कोड तक
\n\nक्या आपने कभी किसी API से JSON प्रतिक्रिया देखी है और हल्की सी घबराहट महसूस की है? "मैं यहाँ से name कैसे निकालूं? और इस नेस्टेड ऑब्जेक्ट का क्या करूं?" — परिचित प्रश्न हैं, है ना? चिंता न करें, आप अकेले नहीं हैं। "How to parse JSON in Java" विषय Stack Overflow पर सबसे लोकप्रिय प्रश्नों में से एक है, और आज हम इस प्रश्न को हमेशा के लिए बंद कर देंगे।
JSON (JavaScript Object Notation) डेटा आदान-प्रदान का एक मानक प्रारूप है। लगभग हर आधुनिक सेवा — मौसम से लेकर स्टॉक कोट्स तक — JSON में डेटा प्रदान करती है। इसे सही ढंग से पार्स करने की क्षमता एक Java डेवलपर का मूलभूत कौशल है। हम उबाऊ विशिष्टताओं को नहीं पढ़ेंगे। इसके बजाय, हम तीन सबसे लोकप्रिय लाइब्रेरीज़ लेंगे: Gson (Google), Jackson (FasterXML) और क्लासिक org.json। आप दृष्टिकोणों में अंतर देखेंगे और अपना उपकरण चुन सकेंगे।
\n\nपढ़ने के बाद आपको क्या मिलेगा? आप किसी भी JSON को पार्स करने में सक्षम होंगे — एक साधारण स्ट्रिंग से लेकर ऐरे के साथ जटिल नेस्टेड संरचना तक। चलिए शुरू करते हैं!
\n\nतैयारी: हमें क्या चाहिए
\n\nउदाहरणों के लिए हम एक सरल Maven प्रोजेक्ट का उपयोग करेंगे। यदि आप Maven का उपयोग नहीं करते हैं — कोई बात नहीं, बस लाइब्रेरीज़ की JAR फ़ाइलें मैन्युअल रूप से डाउनलोड करें। pom.xml के लिए न्यूनतम निर्भरताएँ ये हैं:
<!-- Gson -->\n<dependency>\n <groupId>com.google.code.gson</groupId>\n <artifactId>gson</artifactId>\n <version>2.10.1</version>\n</dependency>\n\n<!-- Jackson -->\n<dependency>\n <groupId>com.fasterxml.jackson.core</groupId>\n <artifactId>jackson-databind</artifactId>\n <version>2.15.2</version>\n</dependency>\n\n<!-- org.json (सरल) -->\n<dependency>\n <groupId>org.json</groupId>\n <artifactId>json</artifactId>\n <version>20231013</version>\n</dependency>\n\n\nअब कल्पना करें कि हमें सर्वर से ऐसा JSON (उपयोगकर्ता के बारे में जानकारी) प्राप्त हुआ:
\n\n{\n "id": 42,\n "name": "आलिसा",\n "email": "alice@example.com",\n "isActive": true,\n "address": {\n "city": "मॉस्को",\n "street": "टावर्सकाया"\n },\n "hobbies": ["पढ़ना", "प्रोग्रामिंग", "साइकिल"]\n}\n\n\nहमारा काम इस स्ट्रिंग को Java ऑब्जेक्ट्स में बदलना और आवश्यक फ़ील्ड निकालना है। क्रम से चलते हैं।
\n\nविधि 1: Gson का उपयोग करके जावा में JSON पार्सिंग (सरल और सुरुचिपूर्ण)
\n\nGoogle का Gson, जावा में JSON पार्स करने का शायद सबसे सरल तरीका है। इसका मुख्य लाभ न्यूनतमता है। आपको बहुत अधिक कोड लिखने की आवश्यकता नहीं है।
\n\nचरण 1. एक Java क्लास (POJO) बनाएँ जो JSON संरचना से मेल खाती हो।
\n\npublic class User {\n private int id;\n private String name;\n private String email;\n private boolean isActive;\n private Address address;\n private List<String> hobbies;\n\n // गेटर्स और सेटर्स (Gson के लिए अनिवार्य!)\n public int getId() { return id; }\n public void setId(int id) { this.id = id; }\n\n public String getName() { return name; }\n public void setName(String name) { this.name = name; }\n\n // ... शेष गेटर्स/सेटर्स इसी प्रकार\n}\n\npublic class Address {\n private String city;\n private String street;\n // गेटर्स/सेटर्स\n}\n\n\nचरण 2. JSON को एक पंक्ति में पार्स करें।
\n\nimport com.google.gson.Gson;\n\npublic class GsonExample {\n public static void main(String[] args) {\n String json = "{\\"id\\":42,\\"name\\":\\"आलिसा\\",\\"email\\":\\"alice@example.com\\",\\"isActive\\":true,\\"address\\":{\\"city\\":\\"मॉस्को\\",\\"street\\":\\"टावर्सकाया\\"},\\"hobbies\\":[\\"पढ़ना\\",\\"प्रोग्रामिंग\\",\\"साइकिल\\"]}";\n\n Gson gson = new Gson();\n User user = gson.fromJson(json, User.class);\n\n System.out.print