Field Naming Strategy এর ধারণা

Gson এর Field Naming Strategy - জিসন (Gson) - Java Technologies

331

Field Naming Strategy হল Gson এর একটি বৈশিষ্ট্য যা JSON-এ ফিল্ড নাম এবং Java অবজেক্টের ফিল্ড নামের মধ্যে ম্যাপিং কনফিগার করতে সাহায্য করে। এটি ব্যবহার করে আপনি ফিল্ড নামের স্টাইল (যেমন ক্যামেল কেস, স্নেক কেস, প্যাসকাল কেস) বা ফিল্ড নামের কনভেনশন কাস্টমাইজ করতে পারেন।

Gson-এর Field Naming Strategy আপনাকে একটি NamingPolicy কাস্টমাইজ করার সুযোগ দেয়, যার মাধ্যমে JSON-এর ফিল্ড নাম এবং Java ক্লাসের ফিল্ড নামের মধ্যকার সম্পর্ক নির্ধারণ করা হয়।

Field Naming Strategy এর ধরন:

  1. Default Naming (camelCase): Gson ডিফল্টভাবে Java ক্লাসের ফিল্ড নামগুলিকে camelCase স্টাইলে JSON-এ কনভার্ট করে।
  2. FieldNamingPolicy.IDENTITY: এটি ফিল্ড নামের ক্ষেত্রে কোনো পরিবর্তন করে না। Java ফিল্ড নাম সরাসরি JSON ফিল্ড নাম হিসেবে ব্যবহৃত হয়।
  3. FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES: ফিল্ড নামগুলোকে lower_case_with_underscores (স্নেক কেস) এ রূপান্তর করে।
  4. FieldNamingPolicy.UPPER_CAMEL_CASE: এটি PascalCase বা UpperCamelCase এ ফিল্ড নাম রূপান্তর করে, যেখানে প্রথম অক্ষর বড় হাতের অক্ষর হয়।
  5. কাস্টম Field Naming Strategy: আপনি নিজের কাস্টম Naming Strategy তৈরি করতে পারেন, যাতে আপনার প্রয়োজন অনুযায়ী ফিল্ড নামের রূপান্তর করা যায়।

1. Default Naming (camelCase)

Gson ডিফল্টভাবে Java অবজেক্টের ফিল্ড নামগুলিকে camelCase-এ সিরিয়ালাইজ এবং ডেসিরিয়ালাইজ করে। যেমন, firstName Java ফিল্ডটি JSON-এ "firstName" হিসেবে সিরিয়ালাইজ হয়।

উদাহরণ:

import com.google.gson.Gson;

class User {
    String firstName;
    String lastName;

    public User(String firstName, String lastName) {
        this.firstName = firstName;
        this.lastName = lastName;
    }
}

public class Main {
    public static void main(String[] args) {
        User user = new User("John", "Doe");

        // Gson অবজেক্ট তৈরি করুন
        Gson gson = new Gson();

        // JSON এ রূপান্তর
        String json = gson.toJson(user);

        System.out.println(json); // {"firstName":"John","lastName":"Doe"}
    }
}

আউটপুট:

{"firstName":"John","lastName":"Doe"}

2. FieldNamingPolicy.IDENTITY

এটি ফিল্ড নামের কোনো পরিবর্তন করেনা। Java অবজেক্টের ফিল্ড নাম সরাসরি JSON এ ব্যবহার হবে।

উদাহরণ:

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.FieldNamingPolicy;

class User {
    String firstName;
    String lastName;

    public User(String firstName, String lastName) {
        this.firstName = firstName;
        this.lastName = lastName;
    }
}

public class Main {
    public static void main(String[] args) {
        User user = new User("John", "Doe");

        // GsonBuilder ব্যবহার করে FieldNamingPolicy.IDENTITY সেট করুন
        Gson gson = new GsonBuilder()
                        .setFieldNamingPolicy(FieldNamingPolicy.IDENTITY)
                        .create();

        // JSON এ রূপান্তর
        String json = gson.toJson(user);

        System.out.println(json); // {"firstName":"John","lastName":"Doe"}
    }
}

আউটপুট:

{"firstName":"John","lastName":"Doe"}

3. FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES (Snake Case)

এই কনফিগারেশনটি camelCase নামগুলোকে snake_case বা lower_case_with_underscores এ রূপান্তর করে। এটি বেশিরভাগ ক্ষেত্রে API ডেভেলপমেন্টে ব্যবহৃত হয় যেখানে ফিল্ড নামের মধ্যে আন্ডারস্কোর ব্যবহৃত হয়।

উদাহরণ:

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.FieldNamingPolicy;

class User {
    String firstName;
    String lastName;

    public User(String firstName, String lastName) {
        this.firstName = firstName;
        this.lastName = lastName;
    }
}

public class Main {
    public static void main(String[] args) {
        User user = new User("John", "Doe");

        // GsonBuilder ব্যবহার করে LOWER_CASE_WITH_UNDERSCORES কনফিগারেশন সেট করুন
        Gson gson = new GsonBuilder()
                        .setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES)
                        .create();

        // JSON এ রূপান্তর
        String json = gson.toJson(user);

        System.out.println(json); // {"first_name":"John","last_name":"Doe"}
    }
}

আউটপুট:

{"first_name":"John","last_name":"Doe"}

4. FieldNamingPolicy.UPPER_CAMEL_CASE (Pascal Case)

এটি PascalCase বা UpperCamelCase ফরম্যাটে ফিল্ড নাম রূপান্তর করে। এটি মূলত ফিল্ড নামের প্রথম অক্ষর বড় হাতের অক্ষরে পরিবর্তন করে।

উদাহরণ:

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.FieldNamingPolicy;

class User {
    String firstName;
    String lastName;

    public User(String firstName, String lastName) {
        this.firstName = firstName;
        this.lastName = lastName;
    }
}

public class Main {
    public static void main(String[] args) {
        User user = new User("John", "Doe");

        // GsonBuilder ব্যবহার করে UPPER_CAMEL_CASE কনফিগারেশন সেট করুন
        Gson gson = new GsonBuilder()
                        .setFieldNamingPolicy(FieldNamingPolicy.UPPER_CAMEL_CASE)
                        .create();

        // JSON এ রূপান্তর
        String json = gson.toJson(user);

        System.out.println(json); // {"FirstName":"John","LastName":"Doe"}
    }
}

আউটপুট:

{"FirstName":"John","LastName":"Doe"}

5. কাস্টম Field Naming Strategy

আপনি যদি একটি কাস্টম FieldNamingStrategy তৈরি করতে চান, তাহলে FieldNamingStrategy ইন্টারফেস ইমপ্লিমেন্ট করে নিজের স্টাইল নির্ধারণ করতে পারেন। এটি Java অবজেক্টের ফিল্ড নামগুলোর রূপান্তর কাস্টমাইজ করতে সাহায্য করে।

উদাহরণ:

import com.google.gson.*;
import com.google.gson.FieldNamingStrategy;
import java.lang.reflect.Field;

class User {
    String firstName;
    String lastName;

    public User(String firstName, String lastName) {
        this.firstName = firstName;
        this.lastName = lastName;
    }
}

public class Main {
    public static void main(String[] args) {
        User user = new User("John", "Doe");

        // কাস্টম FieldNamingStrategy তৈরি করুন
        FieldNamingStrategy customNamingStrategy = new FieldNamingStrategy() {
            @Override
            public String translateName(Field f) {
                return f.getName().toUpperCase();  // ফিল্ড নামটি uppercase করে দিবে
            }
        };

        // GsonBuilder ব্যবহার করে কাস্টম naming strategy সেট করুন
        Gson gson = new GsonBuilder()
                        .setFieldNamingStrategy(customNamingStrategy)
                        .create();

        // JSON এ রূপান্তর
        String json = gson.toJson(user);

        System.out.println(json); // {"FIRSTNAME":"John","LASTNAME":"Doe"}
    }
}

আউটপুট:

{"FIRSTNAME":"John","LASTNAME":"Doe"}

সারসংক্ষেপ:

  1. FieldNamingPolicy.IDENTITY: Java ফিল্ড নাম সরাসরি JSON এ ব্যবহার হয়।
  2. FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES: JSON ফিল্ড নামগুলোকে snake_case (lower_case_with_underscores) এ রূপান্তর করে।
  3. FieldNamingPolicy.UPPER_CAMEL_CASE: JSON ফিল্ড নামগুলোকে PascalCase বা UpperCamelCase এ রূপান্তর করে।
  4. কাস্টম Field Naming Strategy: নিজের কাস্টম স্টাইল তৈরি করতে FieldNamingStrategy ইন্টারফেস ইমপ্লিমেন্ট করতে পারেন।

এভাবে Gson এর Field Naming Strategy ব্যবহার করে আপনি JSON ফিল্ড নাম কাস্টমাইজ করতে পারেন, যা JSON ডেটা এবং Java ক্লাসের মধ্যে সঙ্গতি বজায় রাখতে সাহায্য করে।

Content added By
Promotion

Are you sure to start over?

Loading...