JSON या JavaScript Object Notation मानव-पठनीय डेटा इंटरचेंज के लिए डिज़ाइन किया गया एक हल्का टेक्स्ट-आधारित ओपन स्टैंडर्ड है। JSON द्वारा उपयोग की जाने वाली कन्वेंशन्स प्रोग्रामर्स के लिए जानी जाती हैं, जिनमें C, C++, Java, Python, Perl, आदि शामिल हैं।
JSON ऑब्जेक्ट्स को हैंडल करने के लिए कई Java लाइब्रेरीज़ उपलब्ध हैं। Jackson एक सरल Java-आधारित लाइब्रेरी है जो Java ऑब्जेक्ट्स को JSON में सीरियलाइज़ करती है और इसके विपरीत।
Java ऑब्जेक्ट को JSON में बदलना
Java में Jackson API की ObjectMapper क्लास Java ऑब्जेक्ट को JSON ऑब्जेक्ट में और इसके विपरीत बदलने के लिए मेथड्स प्रदान करती है।
इस क्लास की writeValueAsString() विधि एक JSON ऑब्जेक्ट को पैरामीटर के रूप में स्वीकार करती है और इसकी संबंधित JSON स्ट्रिंग लौटाती है।
इसलिए, Jackson लाइब्रेरी का उपयोग करके Java ऑब्जेक्ट को JSON स्ट्रिंग में बदलने के लिए:
अपने pom.xml में निम्नलिखित मेवेन डिपेंडेंसी जोड़ें:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.10.0.pr2</version>
</dependency>
प्राइवेट वेरिएबल्स और सेटर/गेटर मेथड्स के साथ एक जावाबीन/POJO ऑब्जेक्ट बनाएं।
एक और क्लास बनाएं (सुनिश्चित करें कि POJO क्लास इसके लिए उपलब्ध है)।
इसमें, POJO क्लास का ऑब्जेक्ट बनाएं, सेटर मेथड्स का उपयोग करके इसमें आवश्यक वैल्यूज़ सेट करें।
ObjectMapper क्लास को इंस्टेंशिएट करें।
ऊपर बनाए गए POJO ऑब्जेक्ट को पास करके writeValueAsString() मेथड को इनवोक करें।
प्राप्त 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 JacksionExample {
public static void main(String args[]) throws Exception {
Student std = new Student();
std.setId(001);
std.setName("Krishna");
std.setAge(30);
std.setPhone(9848022338L);
// ObjectMapper ऑब्जेक्ट बनाना
ObjectMapper mapper = new ObjectMapper();
// ऑब्जेक्ट को JSON स्ट्रिंग में बदलना
String jsonString = mapper.writeValueAsString(std);
System.out.println(jsonString);
}
}
आउटपुट
{"id":1,"name":"Krishna","age":30,"phone":9848022338}