जावा में JSON के साथ कार्य: शुरुआती लोगों के लिए पार्सिंग और सीरियलाइज़ेशन

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

JSON क्या है और जावा में इसकी आवश्यकता क्यों है?

\n\n

JSON (JavaScript Object Notation) एक हल्का डेटा विनिमय प्रारूप है जो मनुष्यों द्वारा आसानी से पढ़ा जा सकता है और प्रोग्राम द्वारा आसानी से संसाधित किया जा सकता है। आधुनिक जावा विकास में, JSON का उपयोग सर्वव्यापी है: कॉन्फ़िगरेशन फ़ाइलों से लेकर वेब सेवाओं के API अनुरोधों तक।

\n\n

जावा में JSON के साथ कार्य में दो मुख्य क्रियाएँ शामिल हैं:

\n
    \n
  • सीरियलाइज़ेशन — जावा ऑब्जेक्ट को JSON स्ट्रिंग में बदलना।
  • \n
  • पार्सिंग (डिसीरियलाइज़ेशन) — JSON स्ट्रिंग को वापस जावा ऑब्जेक्ट में बदलना।
  • \n
\n\n

इस पाठ में, हम दो लोकप्रिय लाइब्रेरीज़: Jackson और Gson का उपयोग करके इन कार्यों को करने का तरीका समझेंगे। उदाहरण शुरुआती डेवलपर्स के लिए भी उपयुक्त हैं।

\n\n

प्रोजेक्ट तैयार करना और लाइब्रेरीज़ जोड़ना

\n\n

आरंभ करने के लिए हमें एक जावा प्रोजेक्ट की आवश्यकता होगी। हम निर्भरताओं के प्रबंधन के लिए Maven का उपयोग करेंगे। एक नया Maven प्रोजेक्ट बनाएँ और pom.xml फ़ाइल में निम्नलिखित निर्भरताएँ जोड़ें:

\n\n

Jackson जोड़ना

\n
<dependency>\n    <groupId>com.fasterxml.jackson.core</groupId>\n    <artifactId>jackson-databind</artifactId>\n    <version>2.17.1</version>\n</dependency>
\n\n

Gson जोड़ना

\n
<dependency>\n    <groupId>com.google.code.gson</groupId>\n    <artifactId>gson</artifactId>\n    <version>2.11.0</version>\n</dependency>
\n\n

दोनों लाइब्रेरीज़ का उपयोग एक ही प्रोजेक्ट में एक साथ किया जा सकता है। Maven को अपडेट करने के बाद निर्भरताएँ स्वचालित रूप से डाउनलोड हो जाएँगी।

\n\n

उदाहरण के लिए जावा क्लास बनाना

\n\n

प्रदर्शन के लिए, हम एक सरल User क्लास बनाएँगे जिसे हम सीरियलाइज़ और पार्स करेंगे:

\n\n
public class User {\n    private String name;\n    private int age;\n    private String email;\n\n    // डिसीरियलाइज़ेशन के लिए खाली कंस्ट्रक्टर आवश्यक है\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    // गेटर्स और सेटर्स (Jackson के लिए आवश्यक)\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\n

महत्वपूर्ण: लाइब्रेरीज़ के सही काम करने के लिए क्लास में निम्नलिखित होना चाहिए:

\n
    \n
  • खाली कंस्ट्रक्टर (बिना तर्कों के)।
  • \n
  • सभी फ़ील्ड के लिए गेटर्स और सेटर्स (Jackson के लिए यह अनिवार्य है, Gson के लिए गेटर्स पर्याप्त हैं)।
  • \n
\n\n

जावा ऑब्जेक्ट को JSON में सीरियलाइज़ करना

\n\n

सीरियलाइज़ेशन ऑब्जेक्ट को स्ट्रिंग में बदलने की प्रक्रिया है। आइए दोनों दृष्टिकोणों पर विचार करें।

\n\n

Jackson के साथ उदाहरण

\n
import com.fasterxml.jackson.databind.ObjectMapper;\n\npublic class JacksonExample {\n    public static void main(String[] args) throws Exception {\n        ObjectMapper mapper = new ObjectMapper();\n        User user = new User("अन्ना", 25, "anna@example.com");\n\n        // स्ट्रिंग में सीरियलाइज़ेशन\n        String json = mapper.writeValueAsString(user);\n        System.out.println(json);\n    }\n}
\n\n

निष्पादन का परिणाम:

\n
{"name":"अन्ना","age":25,"email":"anna@example.com"}
\n\n

Gson के साथ उदाहरण

\n
import com.google.gson.Gson;\n\npublic class GsonExample {\n    public static void main(String[] args) {\n        Gson gson = new Gson();\n        User user = new User("अन्ना", 25, "anna@example.com");\n\n        // स्ट्रिंग में सीरियलाइज़ेशन\n        String json = gson.toJson(user);\n        System.out.println(json);\n    }\n}
\n\n

परिणाम समान होगा। दोनों लाइब्रेरीज़ कार्य को समान रूप से अच्छी तरह से करती हैं।

ब्लॉग

पुस्तक अनुशंसाएँ