फ़ील्डनामिंग नीति JSON फ़ील्ड नामों के लिए कुछ मानक नामकरण परंपराओं को परिभाषित करने के लिए उपयोग किया जा सकता है और इसका उपयोग GsonBuilder के संयोजन में किया जा सकता है एक Gson . को कॉन्फ़िगर करने के लिए उदाहरण जावा फ़ील्ड नामों को वांछित JSON फ़ील्ड नामों में ठीक से अनुवाद करने के लिए। हम setFieldNameingPolicy() . का उपयोग कर सकते हैं GsonBuilder . की विधि क्रमबद्धता . के दौरान किसी वस्तु के क्षेत्र में एक विशिष्ट नामकरण नीति रणनीति को कॉन्फ़िगर करने के लिए और अक्रमांकन ।
निम्नलिखित फ़ील्ड नामकरण नीतियों के साथ Gson विभिन्न फ़ील्ड नामकरण आवश्यकताओं का समर्थन करता है
- FieldNameingPolicy.IDENTITY :जब यह किसी ऑब्जेक्ट को क्रमांकित करता है तो यह ठीक उसी नामकरण का उपयोग करता है जैसा कि जावा मॉडल करता है।
- फ़ील्डनामिंग नीति.LOWER_CASE_WITH_UNDERSCORES :यह एक जावा फ़ील्ड नाम को उसके ऊंट-आवरण रूप से एक लोअर केस फ़ील्ड नाम में संशोधित करता है जहाँ प्रत्येक शब्द को एक अंडरस्कोर (_) द्वारा अलग किया जाता है।
- फ़ील्डनामिंग नीति.LOWER_CASE_WITH_DASHES: यह जावा फ़ील्ड के नाम को उसके ऊंट-आवरण के रूप से एक लोअर केस फ़ील्ड नाम में संशोधित करता है जहाँ प्रत्येक शब्द को डैश (-) द्वारा अलग किया जाता है।
- FieldNameingPolicy.UPPER_CAMEL_CASE :यह सुनिश्चित करेगा कि जावा फ़ील्ड नाम का पहला "अक्षर" उसके JSON फॉर्म में क्रमबद्ध होने पर कैपिटल किया गया है।
- FieldNameingPolicy.UPPER_CAMEL_CASE_WITH_SPACES :यह सुनिश्चित करेगा कि जावा फ़ील्ड नाम के पहले "अक्षर" को उसके JSON फॉर्म में क्रमबद्ध करने पर कैपिटल किया गया है और शब्दों को एक स्पेस द्वारा अलग किया जाएगा।
उदाहरण
import com.google.gson.*; import java.sql.Date; import java.time.LocalDate; public class FieldNamingPolicyTest { public static void main(String[] args) { Gson gson = new GsonBuilder().setPrettyPrinting().setDateFormat("yyyy-MM- dd") .setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_DASHES).create(); Person p = new Person("Raja", "Ramesh", 30, Date.valueOf(LocalDate.of(1988, 1, 1))); String jsonStr = gson.toJson(p); System.out.println(jsonStr); } } // Person class class Person { private String fistName; private String lastName; private int _age; private Date dateOfBirth; public Person(String fistName, String lastName, int _age, Date dateOfBirth) { super(); this.fistName = fistName; this.lastName = lastName; this._age = _age; this.dateOfBirth = dateOfBirth; } }
आउटपुट
{ "fist-name": "Raja", "last-name": "Ramesh", "_age": 30, "date-of-birth": "1988-01-01" }