JSON বা JavaScript Object Notation হল একটি লাইটওয়েট টেক্সট-ভিত্তিক ওপেন স্ট্যান্ডার্ড যা মানুষের পাঠযোগ্য ডেটা ইন্টারচেঞ্জের জন্য ডিজাইন করা হয়েছে। JSON-এ ব্যবহৃত কনভেনশনগুলি প্রোগ্রামারদের কাছে পরিচিত, जिनमें C, C++, Java, Python, Perl ইত্যাদি রয়েছে।
JSON অবজেক্ট হ্যান্ডল করার জন্য বেশ কিছু জাভা লাইব্রেরি উপলব্ধ। Google Gson হল একটি সহজ জাভা-ভিত্তিক লাইব্রেরি যা জাভা অবজেক্টগুলিকে JSON-এ সিরিয়ালাইজ করতে এবং বিপরীত কাজ করতে সক্ষম। এটি Google দ্বারা উন্নীত একটি ওপেন-সোর্স লাইব্রেরি।
জাভা অবজেক্টকে JSON-এ কনভার্ট করা
Google-এর Gson লাইব্রেরি একই নামের একটি ক্লাস (Gson) প্রদান করে যা লাইব্রেরির প্রধান ক্লাস।
এই ক্লাসে toJson() নামক একটি মেথড রয়েছে যার বেশ কিছু ভেরিয়েন্ট আছে। 그중 একটি একটি জাভা অবজেক্ট গ্রহণ করে এবং এটি JSON অবজেক্টে রূপান্তর করে ফেরত দেয়।
অতএব, GSON লাইব্রেরি ব্যবহার করে একটি জাভা অবজেক্টকে 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}