फ़ील्डनामिंग रणनीति Gson में कस्टम फ़ील्ड नामकरण प्रदान करने के लिए एक तंत्र है। यह क्लाइंट कोड को फ़ील्ड नामों को एक विशेष सम्मेलन में अनुवाद करने की अनुमति देता है जो सामान्य जावा फ़ील्ड घोषणा नियमों के रूप में समर्थित नहीं है। अनुवादनाम () विधि प्रत्येक फ़ील्ड नाम को "pre_ ." स्ट्रिंग के साथ उपसर्ग करेगी .
नीचे दिए गए उदाहरण में, हम Custom FieldNamingStrategy को लागू कर सकते हैं।
उदाहरण
import java.lang.reflect.Field; import com.google.gson.*; public class GsonFieldNamingStrategyTest { public static void main(String[] args) { Employee emp = new Employee(); emp.setEmpId(115); emp.setFirstName("Adithya"); emp.setLastName("Jai"); CustomFieldNamingStrategy customFieldNamingStrategy = new CustomFieldNamingStrategy(); GsonBuilder gsonBuilder = new GsonBuilder(); Gson gson = gsonBuilder.setFieldNamingStrategy(customFieldNamingStrategy).create(); String result = gson.toJson(emp); System.out.println(result); } // Custom FieldNamingStrategy private static class CustomFieldNamingStrategy implements FieldNamingStrategy { @Override public String translateName(Field field) { return "pre_" + field.getName(); } } } // Employee class class Employee { private int empId; private String firstName; private String lastName; public int getEmpId() { return empId; } public void setEmpId(int empId) { this.empId = empId; } 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; } }
आउटपुट
{"pre_empId":115,"pre_firstName":"Adithya","pre_lastName":"Jai"}