Gson क्या है और इसकी आवश्यकता क्यों है?
Gson, Google द्वारा विकसित Java भाषा के लिए एक शक्तिशाली लाइब्रेरी है, जो Java ऑब्जेक्ट्स को उनके JSON प्रतिनिधित्व (सीरियलाइज़ेशन) में बदलने और इसके विपरीत, JSON स्ट्रिंग्स से Java ऑब्जेक्ट्स को पुनर्स्थापित करने (डीसीरियलाइज़ेशन) की अनुमति देती है। JSON (JavaScript Object Notation) एक हल्का डेटा इंटरचेंज फॉर्मेट है, जो वेब-API, कॉन्फ़िगरेशन फ़ाइलों और संरचित डेटा को स्टोर करने में व्यापक रूप से उपयोग किया जाता है।
Gson का उपयोग क्यों करें? आधुनिक Java एप्लिकेशन डेवलपमेंट में, लगभग कोई भी प्रोजेक्ट JSON के साथ काम किए बिना पूरा नहीं होता। चाहे वह REST API के साथ संचार हो, कॉन्फ़िगरेशन पढ़ना हो, या माइक्रोसर्विसेज के बीच डेटा का आदान-प्रदान हो — Gson एक सरल, तेज़ और विश्वसनीय रूपांतरण विधि प्रदान करता है। मानक Java लाइब्रेरी (org.json) के विपरीत, Gson सीधे मनमाने Java ऑब्जेक्ट्स (POJO) के साथ काम कर सकता है, स्वचालित रूप से क्लास के फ़ील्ड को JSON कीज़ से मैप करता है। यह डेवलपर को मैन्युअल पार्सिंग और बॉयलरप्लेट कोड लिखने से मुक्त करता है।
Gson की स्थापना (इंस्टॉलेशन)
Gson एक Java लाइब्रेरी है, इसलिए इसे JVM के लिए डिपेंडेंसी मैनेजमेंट सिस्टम के माध्यम से वितरित किया जाता है। नीचे सबसे लोकप्रिय बिल्ड टूल्स के लिए इंस्टॉलेशन विधियाँ दी गई हैं।
Maven
अपनी pom.xml फ़ाइल में निम्नलिखित डिपेंडेंसी जोड़ें:
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.10.1</version> <!-- Maven Central पर नवीनतम संस्करण जांचें -->
</dependency>
Gradle
build.gradle फ़ाइल में जोड़ें:
implementation 'com.google.code.gson:gson:2.10.1'
सीधे JAR डाउनलोड करना
यदि आप बिल्ड सिस्टम का उपयोग नहीं कर रहे हैं, तो Maven Central से JAR फ़ाइल डाउनलोड करें और इसे अपने प्रोजेक्ट के classpath में जोड़ें।
महत्वपूर्ण: Python (pip) या Node.js (npm) के विपरीत, Java में कोई एकल पैकेज मैनेजर नहीं है। Maven और Gradle डी-फैक्टो मानक हैं।
त्वरित शुरुआत: पहला उदाहरण
आइए एक सरल Person क्लास बनाएं, इसे JSON में सीरियलाइज़ करें, और फिर वापस डीसीरियलाइज़ करें।
import com.google.gson.Gson;
public class QuickStart {
public static void main(String[] args) {
// 1. ऑब्जेक्ट बनाएं
Person person = new Person("राहुल", 30, "rahul@example.com");
// 2. Gson का इंस्टेंस बनाएं
Gson gson = new Gson();
// 3. सीरियलाइज़ेशन (Java -> JSON)
String json = gson.toJson(person);
System.out.println("JSON: " + json);
// आउटपुट: JSON: {"name":"राहुल","age":30,"email":"rahul@example.com"}
// 4. डीसीरियलाइज़ेशन (JSON -> Java)
String jsonInput = "{\"name\":\"प्रिया\",\"age\":25,\"email\":\"priya@test.com\"}";
Person personFromJson = gson.fromJson(jsonInput, Person.class);
System.out.println("नाम: " + personFromJson.getName());
// आउटपुट: नाम: प्रिया
}
}
class Person {
private String name;
private int age;
private String email;
// डीसीरियलाइज़ेशन के लिए डिफ़ॉल्ट कंस्ट्रक्टर (बिना आर्गुमेंट) अनिवार्य है!
public Person() {}
public Person(String name, int age, String email) {
this.name = name;
this.age = age;
this.email = email;
}
public String getName() { return name; }
public int getAge() { return age; }
public String getEmail() { return email; }
}
Gson के मुख्य तरीके और कार्य
नीचे Gson लाइब्रेरी के प्रमुख मेथड दिए गए हैं। प्रत्येक मेथड का विवरण और एक कार्यशील उदाहरण शामिल है।
1. Gson.toJson(Object src)
यह क्या करता है: दिए गए Java ऑब्जेक्ट को JSON स्ट्रिंग में सीरियलाइज़ करता है। यह ऑब्जेक्ट को JSON में बदलने का सबसे बुनियादी तरीका है।
पैरामीटर: src — सीरियलाइज़ किया जाने वाला ऑब्जेक्ट (null भी हो सकता है)