JSON (JavaScript Object Notation) एक हल्का, टेक्स्ट-आधारित, ओपन स्टैंडर्ड है जिसे मानव-पठनीय डेटा इंटरचेंज के लिए डिज़ाइन किया गया है। JSON द्वारा उपयोग की जाने वाली कन्वेंशन प्रोग्रामर्स के लिए जानी जाती हैं, जिनमें C, C++, Java, Python, Perl आदि शामिल हैं।
JSON ऑब्जेक्ट्स को संभालने के लिए कई Java लाइब्रेरी उपलब्ध हैं। Google Gson एक सरल Java-आधारित लाइब्रेरी है जो Java ऑब्जेक्ट्स को JSON में सीरियलाइज़ करती है और इसके विपरीत भी। यह Google द्वारा विकसित एक ओपन-सोर्स लाइब्रेरी है।
Java ऑब्जेक्ट को JSON में बदलना
Google की Gson लाइब्रेरी उसी नाम (Gson) के साथ एक क्लास प्रदान करती है जो लाइब्रेरी की मुख्य क्लास है।
यह क्लास toJson() नामक एक मेथड प्रदान करती है जिसके कई वेरिएंट हैं, जिनमें से एक Java ऑब्जेक्ट को स्वीकार करता है और इसे JSON ऑब्जेक्ट में बदलकर लौटाता है।
इसलिए, GSON लाइब्रेरी का उपयोग करके Java ऑब्जेक्ट को JSON स्ट्रिंग में बदलने के लिए:
अपने pom.xml में निम्नलिखित मेवेन डिपेंडेंसी जोड़ें:
<dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.5</version> </dependency>
प्राइवेट वेरिएबल्स और सेटर/गेटर मेथड्स के साथ एक जावाबीन/POJO ऑब्जेक्ट बनाएं।
एक और क्लास बनाएं (सुनिश्चित करें कि POJO क्लास इसमें उपलब्ध हो)।
इसमें POJO क्लास का एक ऑब्जेक्ट बनाएं, सेटर मेथड्स का उपयोग करके आवश्यक मान सेट करें।
Gson क्लास को इंस्टेंटिएट करें।
ऊपर बनाए गए POJO ऑब्जेक्ट को पास करके toJson() मेथड को इनवोक करें।
प्राप्त JSON को रिट्रीव और प्रिंट करें।
उदाहरण
import com.google.gson.Gson;
class Student {
private int id;
private String name;
private int age;
private long phone;
public int getId() { return id; }
public void setId(int id) { this.id = id; }
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 long getPhone() { return phone; }
public void setPhone(long phone) { this.phone = phone; }
}
public class ObjectTOString {
public static void main(String args[]) {
Student std = new Student();
std.setId(001);
std.setName("Krishna");
std.setAge(30);
std.setPhone(9848022338L);
// Gson ऑब्जेक्ट बनाना
Gson gSon = new Gson();
String jsonString = gSon.toJson(std);
System.out.println(jsonString);
}
}
आउटपुट
{"id":1,"name":"Krishna","age":30,"phone":9848022338}