जावा में JSON प्रोसेसिंग: Jackson और Gson लाइब्रेरीज़
JSON (JavaScript Object Notation) एक हल्का डेटा विनिमय प्रारूप है, जो वेब डेवलपमेंट, API और माइक्रोसर्विसेज़ में व्यापक रूप से उपयोग किया जाता है। जावा में JSON के साथ काम करने के लिए कई शक्तिशाली लाइब्रेरीज़ हैं, जिनमें से सबसे लोकप्रिय Jackson और Gson हैं। इस लेख में हम दोनों लाइब्रेरीज़, उनकी क्षमताओं, उपयोग के उदाहरणों और विशेषताओं पर विस्तार से चर्चा करेंगे।
1. Jackson लाइब्रेरी
Jackson, FasterXML द्वारा विकसित जावा में JSON प्रोसेसिंग के लिए एक उच्च-प्रदर्शन वाली लाइब्रेरी है। यह सीरियलाइज़ेशन, डीसीरियलाइज़ेशन, पार्सिंग और डेटा रूपांतरण के लिए उपकरणों का एक पूरा सेट प्रदान करती है। Jackson स्प्रिंग इकोसिस्टम में डी-फैक्टो मानक है।
Jackson की मुख्य विशेषताएं:
- ObjectMapper — जावा ऑब्जेक्ट्स को JSON में और वापस बदलने के लिए मुख्य वर्ग।
- एनोटेशन — एनोटेशन के साथ सीरियलाइज़ेशन का लचीला कॉन्फ़िगरेशन (
@JsonProperty,@JsonIgnore,@JsonFormat)। - Stream API समर्थन — JSON स्ट्रीम को पढ़ना और लिखना।
- अनुकूलन योग्य सीरियलाइज़ेशन — कस्टम सीरियलाइज़र और डीसीरियलाइज़र बनाने की क्षमता।
Jackson उपयोग का उदाहरण:
import com.fasterxml.jackson.databind.ObjectMapper;import com.fasterxml.jackson.databind.SerializationFeature;
public class JacksonExample { public static void main(String[] args) throws Exception { // मैपिंग के लिए ऑब्जेक्ट बनाएं ObjectMapper mapper = new ObjectMapper(); mapper.enable(SerializationFeature.INDENT_OUTPUT);
// उदाहरण वर्ग Person person = new Person("इवान", 30, "ivan@example.com");
// JSON में सीरियलाइज़ेशन String jsonString = mapper.writeValueAsString(person); System.out.println("JSON: " + jsonString);
// JSON से डीसीरियलाइज़ेशन String jsonInput = "{\\"name\\":\\"मारिया\\",\\"age\\":25,\\"email\\":\\"maria@example.com\\"}"; Person deserializedPerson = mapper.readValue(jsonInput, Person.class); System.out.println("ऑब्जेक्ट: " + deserializedPerson.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 void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; }}Jackson को जोड़ना (Maven):
<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.15.2</version></dependency>2. Gson लाइब्रेरी
Gson, Google द्वारा जावा ऑब्जेक्ट्स को JSON में और वापस सीरियलाइज़ और डीसीरियलाइज़ करने के लिए एक लाइब्रेरी है। यह उपयोग में सरलता और हल्केपन के लिए जानी जाती है। Gson को अक्सर छोटे प्रोजेक्ट्स और Android पर मोबाइल डेवलपमेंट के लिए चुना जाता है।
Gson की मुख्य विशेषताएं:
- GsonBuilder — सीरियलाइज़ेशन व्यवहार का कॉन्फ़िगरेशन।
- एनोटेशन — फ़ील्ड का नाम बदलने के लिए
@SerializedNameका समर्थन। - JSON-सरणियों का समर्थन — कलेक्शन के साथ काम करना।
- Null-हैंडलिंग — null-मानों को शामिल/बहिष्कृत करने का विकल्प।
Gson उपयोग का उदाहरण:
import com.google.gson.Gson;import com.google.gson.GsonB पुस्तकालय में भी
Swift में क्रिप्टोग्राफी: iOS/macOS के लिए एन्क्रिप्शन और हैशिंग
Go में HTML पार्सिंग: लाइब्रेरीज़ और कोड उदाहरण
C++ में Prometheus मेट्रिक्स का एकीकरण: prometheus-cpp लाइब्रेरी