Java में JSON हैंडलिंग: पार्सिंग और सीरियलाइज़ेशन शुरुआती के लिए
\n\nJSON (JavaScript Object Notation) एक हल्का डेटा एक्सचेंज फॉर्मेट है जो वेब डेवलपमेंट, मोबाइल ऐप्स और माइक्रोसर्विसेज में व्यापक रूप से उपयोग होता है। Java डेवलपर के लिए JSON को पढ़ना (पार्स करना) और बनाना (सीरियलाइज़ करना) एक ज़रूरी स्किल है। इस आर्टिकल में हम दो सबसे लोकप्रिय लाइब्रेरीज - Jackson और Gson का उपयोग करके JSON हैंडलिंग के बेसिक्स सीखेंगे। यह सामग्री शुरुआती के लिए डिज़ाइन की गई है, इसलिए सभी उदाहरण बहुत सरल और समझने में आसान होंगे।
\n\nJSON पार्सिंग और सीरियलाइज़ेशन क्या है?
\nकोड में जाने से पहले, इन शब्दों को समझ लेते हैं:
\n- \n
- सीरियलाइज़ेशन - Java ऑब्जेक्ट को JSON स्ट्रिंग में बदलने की प्रक्रिया। उदाहरण के लिए, आपने एक
Userऑब्जेक्ट बनाया और इसे सर्वर पर JSON के रूप में भेजना चाहते हैं। \n - पार्सिंग (डिसीरियलाइज़ेशन) - इसका उल्टा प्रोसेस: JSON स्ट्रिंग को वापस Java ऑब्जेक्ट में बदलना। उदाहरण के लिए, आपको API से रिस्पॉन्स मिला और आप डेटा को सामान्य ऑब्जेक्ट की तरह इस्तेमाल करना चाहते हैं। \n
प्रोजेक्ट तैयार करना: डिपेंडेंसीज़ जोड़ना
\nJSON के साथ काम करने के लिए हमें बाहरी लाइब्रेरीज़ की ज़रूरत होगी। आइए दो सबसे लोकप्रिय विकल्पों पर नज़र डालते हैं।
\n\nविकल्प 1: Jackson (शुरुआती के लिए सुझाव)
\nJackson एक शक्तिशाली और परफॉरमेंट लाइब्रेरी है। अगर आप Maven का उपयोग कर रहे हैं, तो pom.xml में यह जोड़ें:
<dependency>\n <groupId>com.fasterxml.jackson.core</groupId>\n <artifactId>jackson-databind</artifactId>\n <version>2.15.2</version>\n</dependency>\n\nविकल्प 2: Gson (Google द्वारा)
\nGson हल्की और समझने में आसान लाइब्रेरी है। Maven के लिए डिपेंडेंसी:
\n<dependency>\n <groupId>com.google.code.gson</groupId>\n <artifactId>gson</artifactId>\n <version>2.10.1</version>\n</dependency>\n\nअगर आप बिल्ड सिस्टम का उपयोग नहीं कर रहे हैं, तो दोनों लाइब्रेरीज़ को Maven Central से मैन्युअली डाउनलोड किया जा सकता है।
\n\nडेटा का उदाहरण: User क्लास
\nसभी उदाहरणों के लिए हम एक सरल User क्लास का उपयोग करेंगे:
public class User {\n private String name;\n private int age;\n private String email;\n\n // Jackson और Gson के लिए खाली कंस्ट्रक्टर ज़रूरी है\n public User() {}\n\n public User(String name, int age, String email) {\n this.name = name;\n this.age = age;\n this.email = email;\n }\n\n // गेटर्स और सेटर्स (सीरियलाइज़ेशन के लिए महत्वपूर्ण)\n public String getName() { return name; }\n public void setName(String name) { this.name = name; }\n\n public int getAge() { return age; }\n public void setAge(int age) { this.age = age; }\n\n public String getEmail() { return email; }\n public void setEmail(String email) { this.email = email; }\n}\n\nJSON पार्सिंग (String → Java Object)
\nअब देखते हैं कि JSON स्ट्रिंग को कैसे पढ़कर User ऑब्जेक्ट में बदला जाए।
Jackson का उपयोग करके
\nimport com.fasterxml.jackson.databind.ObjectMapper;\n\npublic class JacksonParsingExample {\n public static void main(String[] args) throws Exception {\n String jsonString = "{ \\"name\\": \\"राहुल\\", \\"age\\": 30, \\"email\\": \\"rahul@example.com\\" }";\n\n ObjectMapper mapper = new ObjectMapper();\n User user = mapper.readValue(jsonString, User.class);\n\n System.out.println("नाम: " + user.getName());\n System.out.println("उम्र: " + user.getAge());\n }\n}\n\nGson का उपयोग करके
\nimport com.google.gson.Gson;\n\npublic class GsonParsingExample {\n public static void main(String[] args) {\n String jsonString = "{ \\"name\\": \\"प्रिया\\", \\"age\\": 25, \\"email\\": \\"priya@example.com\\" }";\n\n Gson gson = new Gson();\n User user = gson.fromJson(json