কম্পিউটার টিউটোরিয়াল

জ্যাকসন লাইব্রেরি ব্যবহার করে জাভা অবজেক্টকে JSON-এ রূপান্তর করা

JSON বা JavaScript Object Notation একটি হালকা টেক্সট-ভিত্তিক ওপেন স্ট্যান্ডার্ড যা মানব-পঠনযোগ্য ডেটা ইন্টারচেঞ্জের জন্য ডিজাইন করা হয়েছে। JSON দ্বারা ব্যবহৃত কনভেনশনগুলো প্রোগ্রামারদের কাছে পরিচিত, যা অন্তর্ভুক্ত করে C, C++, Java, Python, Perl, ইত্যাদি।

JSON অবজেক্ট হ্যান্ডেল করার জন্য বেশ কিছু জাভা লাইব্রেরি উপলব্ধ। Jackson একটি সহজ জাভা-ভিত্তিক লাইব্রেরি যা জাভা অবজেক্টকে JSON-এ সিরিয়ালাইজ করতে এবং বিপরীতে কাজ করে।

জাভা অবজেক্টকে JSON-এ রূপান্তর করা

জ্যাকসন API-র ObjectMapper ক্লাস জাভা অবজেক্টকে JSON অবজেক্টে এবং বিপরীতে রূপান্তর করার মেথড প্রদান করে।

এই ক্লাসের writeValueAsString() মেথড একটি জাভা অবজেক্ট প্যারামিটার হিসেবে গ্রহণ করে এবং এর შესব JSON স্ট্রিং রিটার্ন করে।

তাই, জ্যাকসন লাইব্রেরি ব্যবহার করে একটি জাভা অবজেক্টকে 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 ক্লাস ইনস্ট্যানশিয়েট করুন।
  • writeValueAsString() মেথড আহ্বান করুন উপরে তৈরি POJO অবজেক্ট পাস করে।
  • প্রাপ্ত JSON রিট্রিভ ও প্রিন্ট করুন।

উদাহরণ

import com.fasterxml.jackson.databind.ObjectMapper; 

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 JacksonExample { 
    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 mapper = new ObjectMapper(); 
        String jsonString = mapper.writeValueAsString(std); 
        System.out.println(jsonString); 
    } 
}

আউটপুট

{"id":1,"name":"Krishna","age":30,"phone":9848022338}

দ্রষ্টব্য: মূল কোডে com.google.gson.Gson ইমপোর্ট ছিল কিন্তু জ্যাকসন ব্যবহার করা হয়েছিল (ভুল)। উপরের কোডে শুধু জ্যাকসন ইমপোর্ট রাখা হয়েছে। writerWithDefaultPrettyPrinter() ব্যবহার করে প্রিটি প্রিন্ট করা যায়।

  1. জাভাতে Gson লাইব্রেরি ব্যবহার করে JSON অবজেক্ট কে জাভা অবজেক্টে রূপান্তর করুন

  2. জাভাতে json-simple লাইব্রেরি ব্যবহার করে JSON স্ট্রিং কে জাভা অবজেক্টে রূপান্তর করুন

  3. জাভাতে JSON স্ট্রিং কে JSON অবজেক্টে রূপান্তর করুন

  4. জাভা POJO কে JSON-এ কনভার্ট করা: Jackson এবং Gson ব্যবহার করে