জাভা ৯-এ একটি ইন্টারেক্টিভ REPL কম্যান্ড-লাইন টুল নামক JShell পরিচয় করানো হয়েছে। এটি আমাদের জাভা কোড স্নিপেট এক্সিকিউট করতে এবং তাৎক্ষণিক ফলাফল পেতে দেয়। আমরা এক্সটার্নাল ক্লাস ইম্পোর্ট করতে পারি যা JShell সেশনে ক্লাসপথ থেকে অ্যাক্সেসযোগ্য। Gson লাইব্রেরি একটি জাভা সিরিয়ালাইজেশন/ডিসিরিয়ালাইজেশন লাইব্রেরি যা জাভা অবজেক্টকে JSON-এ রূপান্তর এবং বিপরীত কাজের জন্য প্রয়োজন।
নিচের কোড স্নিপেটে, JShell-এ ক্লাসপথ সেট করা দেখানো হয়েছে:
jshell> /env --class-path C:\Users\User\gson.jar | Setting new options and restoring state.
একবার gson লাইব্রেরি JShell-এ ইম্পোর্ট করলে, লিস্টে সেটি দেখতে পাবেন।
jshell> import com.google.gson.*
jshell> /import
| import java.io.*
| import java.math.*
| import java.net.*
| import java.nio.file.*
| import java.util.*
| import java.util.concurrent.*
| import java.util.function.*
| import java.util.prefs.*
| import java.util.regex.*
| import java.util.stream.*
| import com.google.gson.*
jshell> Gson g = new GsonBuilder().setPrettyPrinting().create()
g ==> {serializeNulls:false,factories:[Factory[typeHier ... 78b9],instanceCreators:{}}
নিচের কোড স্নিপেটে, আমরা একটি Employee ক্লাস তৈরি করেছি।
jshell> class Employee {
...> private String firstName;
...> private String lastName;
...> private String designation;
...> private String location;
...> public Employee(String firstName, String lastName, String desigation, String location) {
...> this.firstName = firstName;
...> this.lastName = lastName;
...> this.designation = designation;
...> this.location = location;
...> }
...> public String getFirstName() {
...> return firstName;
...> }
...> public String getLastName() {
...> return lastName;
...> }
...> public String getJobDesignation() {
...> return designation;
...> }
...> public String getLocation() {
...> return location;
...> }
...> public String toString() {
...> return "Name = " + firstName + ", " + lastName + " | " +
...> "Job designation = " + designation + " | " +
...> "location = " + location + ".";
...> }
...> }
| created class Employee
jshell> Employee e = new Employee("Jai", "Adithya", "Content Developer", "Hyderabad");
e ==> Name = Jai, Adithya | Job designation = Content D ... er | location = Hyderabad.
jshell> String empSerialized = g.toJson(e)
empSerialized ==> "{\n \"firstName\": \"Jai\",\n \"lastName\": \"Adithya\",\n \"designation\": \"Content Developer\",\n \"location\": \"Hyderabad\"\n}"
নিচের কোড স্নিপেটে, আমরা একটি Employee অবজেক্টের ইনস্ট্যান্স তৈরি করি এবং ফলাফল দেখাই।
jshell> System.out.println(empSerialized)
{
"firstName": "Jai",
"lastName": "Adithya",
"designation": "Content Developer",
"location": "Hyderabad"
}
jshell> Employee e1 = g.fromJson(empSerialized, Employee.class)
e1 ==> Name = Jai, Adithya | Job designation = Content D ... er | location = Hyderabad.