How to define naming convention for JSON field names in Java?
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
- FieldNamingPolicy.IDENTITY: It uses the exact same naming as the Java model when it serializes an object.
- FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES: It modifies a Java field name from its camel-cased form to a lower case field name where each word is separated by an underscore(_).
- FieldNamingPolicy.LOWER_CASE_WITH_DASHES: It modifies the Java field name from its camel-cased form to a lower case field name where each word is separated by a dash(-).
- FieldNamingPolicy.UPPER_CAMEL_CASE: It will ensure that the first "letter" of the Java field name is capitalized when serialized to its JSON form.
- FieldNamingPolicy.UPPER_CAMEL_CASE_WITH_SPACES: It will ensure that the first "letter" of the Java field name is capitalized when serialized to its JSON form and the words will be separated by a space.
Example
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!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

