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

জাভাতে Gson ব্যবহার করে কাস্টম ইনস্ট্যান্স ক্রিয়েটর তৈরি করার পদ্ধতি


JSON স্ট্রিংকে জাভা অবজেক্ট থেকে বা তার বিপরীতে পার্স করার সময়, ডিফল্টভাবে Gson ডিফল্ট কনস্ট্রাক্টর কল করে জাভা ক্লাসের একটি ইনস্ট্যান্স তৈরি করার চেষ্টা করে। যদি জাভা ক্লাসে ডিফল্ট কনস্ট্রাক্টর না থাকে বা আমরা জাভা অবজেক্ট তৈরি করার সময় কিছু প্রাথমিক কনফিগারেশন করতে চাই, তবে আমাদের নিজস্ব ইনস্ট্যান্স ক্রিয়েটর তৈরি এবং রেজিস্টার করতে হবে।

আমরা InstanceCreator ইন্টারফেস ব্যবহার করে Gson-এ একটি কাস্টম ইনস্ট্যান্স ক্রিয়েটর তৈরি করতে পারি এবং createInstance(Type type) মেথড ইম্প্লিমেন্ট করতে হবে।

সিনট্যাক্স

T createInstance(Type type)

উদাহরণ

import java.lang.reflect.Type; 
import com.google.gson.*; 
public class CustomInstanceCreatorTest { 
    public static void main(String args[]) { 
        GsonBuilder gsonBuilder = new GsonBuilder(); 
        gsonBuilder.registerTypeAdapter(Course.class, new CourseCreator()); 
        Gson gson = gsonBuilder.create(); 
        String jsonString = "{'course1':'Core Java', 'course2':'Advanced Java'}"; 
        Course course = gson.fromJson(jsonString, Course.class); 
        System.out.println(course); 
    } 
} 
// Course ক্লাস 
class Course { 
    private String course1; 
    private String course2; 
    private String technology; 
    public Course(String technology) { 
        this.technology = technology; 
    } 
    public void setCourse1(String course1) { 
        this.course1 = course1; 
    } 
    public void setCourse2(String course2) { 
        this.course2 = course2; 
    } 
    public String getCourse1() { 
        return course1; 
    } 
    public String getCourse2() { 
        return course1; 
    } 
    public void setTechnology(String technology) { 
        this.technology = technology; 
    } 
    public String getTechnology() { 
        return technology; 
    } 
    public String toString() { 
        return "Course[ " + 
            "course1 = " + course1 + 
            ", course2 = " + course2 + 
            ", technology = " + technology + 
            " ]"; 
    } 
} 
// CourseCreator ক্লাস 
class CourseCreator implements InstanceCreator { 
    @Override 
    public Course createInstance(Type type) { 
        Course course = new Course("Java"); 
        return course; 
    } 
}

আউটপুট

Course[ course1 = Core Java, course2 = Advanced Java, technology = Java ]

  1. জাভাতে স্ট্রিং-এ অনন্য ক্যারেক্টার খুঁজে বের করা

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

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

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