The FieldNamingPolicy can be used to define a few standard naming conventions for JSON field names and it can be used in conjunction with GsonBuilder to configure a Gson instance to properly translate Java field names into the desired JSON field names. We can use the setFieldNamingPolicy() method of GsonBuilder to configure a specific naming policy strategy to an object's field during serialization and deserialization.
Gson supports various field naming requirements with following field naming policies
import com.google.gson.*; import java.sql.Date; import java.time.LocalDate; public class FieldNamingPolicyTest { public static void main(String[] args) { <strong>Gson </strong>gson = new<strong> GsonBuilder()</strong><strong>.setPrettyPrinting(</strong>).<strong>setDateFormat</strong>("yyyy-MM- dd") .<strong>setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_DASHES).create(); </strong> Person p = new Person("Raja", "Ramesh", 30, Date.valueOf(LocalDate.of(1988, 1, 1))); String jsonStr = gson.<strong>toJson</strong>(p); System.out.println(jsonStr); } } <strong>// Person class</strong> 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; } }
<strong>{</strong> <strong> "fist-name": "Raja", "last-name": "Ramesh", "_age": 30, "date-of-birth": "1988-01-01" }</strong>
The above is the detailed content of How to define naming convention for JSON field names in Java?. For more information, please follow other related articles on the PHP Chinese website!