Gson @SerializedName অ্যানোটেশন প্রদত্ত নাম মান ব্যবহার করে একটি JSON-এ সিরিয়ালাইজ করা যায় যা এর ফিল্ড নাম হিসেবে কাজ করে। এই অ্যানোটেশন কোনো FieldNamingPolicy ওভাররাইড করতে পারে যার মধ্যে ডিফল্ট ফিল্ড নেমিং পলিসি রয়েছে যা Gson ইনস্ট্যান্সে সেট করা থাকতে পারে। ভিন্ন নেমিং পলিসি GsonBuilder ক্লাস ব্যবহার করে সেট করা যায়।
সিনট্যাক্স
@Retention(value=RUNTIME)
@Target(value={FIELD,METHOD})
public @interface SerializedName
উদাহরণ
import com.google.gson.annotations.*;
import com.google.gson.*;
public class SerializedNameAnnotationTest {
public static void main(String args[]) {
Employee emp = new Employee("Rahul", "Dev", 30, "Nagpur");
Gson gson = new GsonBuilder().setPrettyPrinting().create(); // প্রিটি প্রিন্ট
String jsonStr = gson.toJson(emp);
System.out.println(jsonStr);
}
}
// Employee ক্লাস
class Employee {
@SerializedName("first_name")
private String firstName;
@SerializedName("last_name")
private String lastName;
private int age;
private String address;
public Employee() {}
public Employee(String firstName, String lastName, int age, String address) {
super();
this.firstName = firstName;
this.lastName = lastName;
this.age = age;
this.address = address;
}
// গেটার মেথডগুলো...
}
আউটপুট
{
"first_name": "Rahul",
"last_name": "Dev",
"age": 30,
"address": "Nagpur"
}