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

জাভাতে Gson ব্যবহার করে কাস্টম JSON সিরিয়ালাইজেশন ইম্প্লিমেন্ট করা


Gson লাইব্রেরি একটি উপায় প্রদান করে কাস্টম সিরিয়ালাইজার নির্দিষ্ট করার জন্য GsonBuilder-এ একটি কাস্টম সিরিয়ালাইজার রেজিস্টার করে যদি আমাদের জাভা অবজেক্টকে JSON-এ রূপান্তর করার একটি উপায় দরকার হয়। আমরা com.google.gson.JsonSerializer ক্লাসের serialize() মেথড ওভাররাইড করে একটি কাস্টম সিরিয়ালাইজার তৈরি করতে পারি।

নিচের উদাহরণে, JSON-এর কাস্টম সিরিয়ালাইজেশন-এর ইম্প্লিমেন্টেশন।

উদাহরণ

import java.lang.reflect.Type; 
import com.google.gson.*; 
public class CustomJSONSerializerTest { 
    public static void main(String[] args) { 
        Gson gson = new GsonBuilder().registerTypeAdapter(Password.class, new PasswordSerializer()) 
            .setPrettyPrinting().create(); 
        Student student = new Student("Adithya", "Jai", 25, "Chennai"); 
        student.setPassword(new Password("admin@123")); 
        System.out.println(gson.toJson(student)); 
    } 
} 
class PasswordSerializer implements JsonSerializer { 
    @Override 
    public JsonElement serialize(Password src, Type typeOfSrc, JsonSerializationContext context) { 
        return new JsonPrimitive(new StringBuffer(src.getPassword()).toString()); 
    } 
} 
// Student class  
class Student { 
    private String firstName; 
    private String lastName; 
    private int age; 
    private String address; 
    private Password password; 
    public Student(String firstName, String lastName, int age, String address) { 
        super(); 
        this.firstName = firstName; 
        this.lastName = lastName; 
        this.age = age; 
        this.address = address; 
    } 
    public String getFirstName() { 
        return firstName; 
    } 
    public void setFirstName(String firstName) { 
        this.firstName = firstName; 
    } 
    public String getLastName() { 
        return lastName; 
    } 
    public void setLastName(String lastName) { 
        this.lastName = lastName; 
    } 
    public int getAge() { 
        return age; 
    } 
    public void setAge(int age) { 
        this.age = age; 
    } 
    public String getAddress() { 
        return address; 
    } 
    public void setAddress(String address) { 
        this.address = address; 
    } 
    public Password getPassword() { 
        return password; 
    } 
    public void setPassword(Password password) { 
        this.password = password; 
    } 
    public String toString() { 
        return "Student[ " + 
            "firstName = " + firstName + 
            ", lastName = " + lastName + 
            ", age = " + age + 
            ", address = " + address + 
            " ]"; 
    } 
} 
// Password class  
class Password { 
    private String password; 
    public Password(String password) { 
        super(); 
        this.password = password; 
    } 
    public String getPassword() { 
        return password; 
    } 
    public void setPassword(String password) { 
        this.password = password; 
    } 
}

আউটপুট

{ 
    "firstName": "Adithya", 
    "lastName": "Jai", 
    "age": 25, 
    "address": "Chennai", 
    "password": "admin@123" 
}

  1. জাভাতে কাস্টম Iterable বাস্তবায়ন করা

  2. জাভাতে JToggleButton কীভাবে বাস্তবায়ন করবেন?

  3. জাভা Map কে JSON-এ কনভার্ট করা: Jackson, Gson এবং org.json সহ ধাপে ধাপে গাইড

  4. জাভাতে JSON পার্সিং: জনপ্রিয় লাইব্রেরি সহ পূর্ণাঙ্গ গাইড