Boon এর @JsonProperty এনোটেশন ব্যবহার

Boon এর Data Binding মডেল - বুন (Boon) - Java Technologies

251

Boon লাইব্রেরিতে @JsonProperty এনোটেশন ব্যবহার করা হয় JSON সিরিয়ালাইজেশন এবং ডেসিরিয়ালাইজেশন প্রক্রিয়ায় ফিল্ডগুলোর নাম কাস্টমাইজ করার জন্য। সাধারণত, JSON ডাটা বিনিময়ের সময় প্রপার্টি নাম এবং Java ক্লাসের ফিল্ড নামের মধ্যে পার্থক্য থাকতে পারে। এই সমস্যা সমাধান করতে @JsonProperty এনোটেশন ব্যবহৃত হয়, যা নির্দিষ্ট ফিল্ডের জন্য JSON প্রপার্টি নাম নির্ধারণ করতে সহায়তা করে।


@JsonProperty এনোটেশন ব্যবহার

Boon লাইব্রেরিতে @JsonProperty এনোটেশনটি Java ক্লাসের ফিল্ডগুলোর জন্য JSON প্রপার্টি নাম কাস্টমাইজ করার সুবিধা দেয়। এটি সাধারণত একটি ফিল্ডের নাম JSON এ কীভাবে রেন্ডার হবে তা নির্ধারণ করে।

1. @JsonProperty ব্যবহার করা

@JsonProperty এনোটেশনটি Java ক্লাসের ফিল্ডের উপরে ব্যবহার করতে হয় এবং JSON ডেটাতে যে নামটি প্রদর্শিত হবে তা নির্ধারণ করে।

উদাহরণ:

import org.boon.json.JsonFactory;
import org.boon.json.JsonMapper;
import org.boon.json.annotations.JsonProperty;

public class User {
    
    @JsonProperty("user_name")  // JSON এ 'user_name' নামে প্রদর্শিত হবে
    private String username;
    
    @JsonProperty("user_age")  // JSON এ 'user_age' নামে প্রদর্শিত হবে
    private int age;

    // Getter and Setter methods
    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public static void main(String[] args) {
        User user = new User();
        user.setUsername("JohnDoe");
        user.setAge(30);

        JsonMapper mapper = JsonFactory.create();
        String json = mapper.writeValueAsString(user);

        System.out.println(json);
    }
}

আউটপুট:

{
    "user_name": "JohnDoe",
    "user_age": 30
}

এখানে, @JsonProperty("user_name") এবং @JsonProperty("user_age") এনোটেশন দুটি ব্যবহার করা হয়েছে, যার মাধ্যমে Java ক্লাসের username এবং age ফিল্ডগুলির JSON প্রপার্টি নাম কাস্টমাইজ করা হয়েছে।


@JsonProperty এর কার্যকারিতা

1. JSON প্রপার্টি নাম কাস্টমাইজেশন

এই এনোটেশনটি ফিল্ডের নাম এবং JSON প্রপার্টির নামের মধ্যে পার্থক্য হলে, সেটি সমন্বয় করতে সাহায্য করে। যেমন, Java ক্লাসে userName নামের ফিল্ড থাকতে পারে, তবে JSON ডেটাতে সেই ফিল্ডটি user_name বা অন্য কোনও নাম থাকতে পারে। এই ক্ষেত্রেও @JsonProperty এনোটেশন সাহায্য করে।

2. ডেসিরিয়ালাইজেশন এবং সিরিয়ালাইজেশন

এটি শুধুমাত্র JSON সিরিয়ালাইজেশন (Java Object to JSON) বা ডেসিরিয়ালাইজেশন (JSON to Java Object) প্রক্রিয়ার জন্যই নয়, বরং JSON ডেটা পার্স করার সময় ফিল্ডের নাম কাস্টমাইজেশনেও গুরুত্বপূর্ণ ভূমিকা পালন করে।

3. ডিফল্ট নাম মেনে চলা

যদি কোনো ফিল্ডের জন্য @JsonProperty ব্যবহার না করা হয়, তাহলে Boon লাইব্রেরি সাধারণত Java ক্লাসের ফিল্ড নামকেই JSON কী হিসেবে ব্যবহার করে।


@JsonProperty এর অন্যান্য বৈশিষ্ট্য

  • নাম পরিবর্তন: আপনি যদি JSON ডেটাতে ফিল্ড নাম পরিবর্তন করতে চান, তবে এই এনোটেশনটি ব্যবহার করে তা করতে পারবেন।
  • নাল (null) প্রপার্টি হ্যান্ডলিং: @JsonProperty এনোটেশনটি JSON ডেটায় যদি কোনো ফিল্ডের মান null হয়, তবে সেটি সঠিকভাবে ম্যানেজ করতে সহায়তা করতে পারে।
  • অভ্যন্তরীণ মান পরিবর্তন: আপনি যদি JSON ডেটাতে কোনো ফিল্ডের মানে পরিবর্তন করতে চান, তাহলে @JsonProperty এর মাধ্যমে সেই পরিবর্তন করতে পারবেন।

সারাংশ

Boon লাইব্রেরিতে @JsonProperty এনোটেশনটি JSON প্রপার্টি নাম কাস্টমাইজ করার জন্য একটি শক্তিশালী টুল। এটি Java ক্লাসের ফিল্ডগুলোর নাম এবং JSON প্রপার্টি নামের মধ্যে পার্থক্য থাকা সত্ত্বেও পারফেক্ট সিরিয়ালাইজেশন এবং ডেসিরিয়ালাইজেশন নিশ্চিত করে।

Content added By
Promotion

Are you sure to start over?

Loading...