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

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


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

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

উদাহরণ

import java.lang.reflect.Type; 
import com.google.gson.*; 
public class CustomJSONDeSerializerTest { 
    public static void main(String[] args) { 
        Gson gson = new GsonBuilder().registerTypeAdapter(Password.class, new  
            PasswordDeserializer()).setPrettyPrinting().create(); 
        String jsonStr = "{" + 
            "\"firstName\": \"Adithya\"," + 
            "\"lastName\": \"Sai\"," + 
            "\"age\": 25," + 
            "\"address\": \"Pune\"," + 
            "\"password\": \"admin@123\"" + 
            "}"; 
        Student student = gson.fromJson(jsonStr, Student.class); 
        System.out.println(student.getPassword().getPassword()); 
    } 
} 
class PasswordDeserializer implements JsonDeserializer { 
    @Override 
    public Password deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context)  
        throws JsonParseException { 
        String ecryptedPwd = json.getAsString(); 
        return new Password(new StringBuffer(ecryptedPwd).toString()); 
    } 
} 
// Student ক্লাস  
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 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; 
    } 
}

আউটপুট

admin@123

  1. জাভাতে Gson লাইব্রেরি ব্যবহার করে JSON স্ট্রিং ফাইলে লেখার পদ্ধতি

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

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

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