Enum Class FieldNamingPolicy

java.lang.Object
java.lang.Enum<FieldNamingPolicy>
com.google.gson.FieldNamingPolicy
All Implemented Interfaces:
FieldNamingStrategy, Serializable, Comparable<FieldNamingPolicy>, Constable

public enum FieldNamingPolicy extends Enum<FieldNamingPolicy> implements FieldNamingStrategy
An enumeration that defines a few standard naming conventions for JSON field names. This enumeration should be used in conjunction with GsonBuilder to configure a Gson instance to properly translate Java field names into the desired JSON field names.
  • Enum Constant Details

    • IDENTITY

      public static final FieldNamingPolicy IDENTITY
      Using this naming policy with Gson will ensure that the field name is unchanged.
    • UPPER_CAMEL_CASE

      public static final FieldNamingPolicy UPPER_CAMEL_CASE
      Using this naming policy with Gson will ensure that the first "letter" of the Java field name is capitalized when serialized to its JSON form.

      Here's a few examples of the form "Java Field Name" ---> "JSON Field Name":

      • someFieldName ---> SomeFieldName
      • _someFieldName ---> _SomeFieldName
    • UPPER_CAMEL_CASE_WITH_SPACES

      public static final FieldNamingPolicy UPPER_CAMEL_CASE_WITH_SPACES
      Using this naming policy with Gson 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.

      Here's a few examples of the form "Java Field Name" ---> "JSON Field Name":

      • someFieldName ---> Some Field Name
      • _someFieldName ---> _Some Field Name
      Since:
      1.4
    • LOWER_CASE_WITH_UNDERSCORES

      public static final FieldNamingPolicy LOWER_CASE_WITH_UNDERSCORES
      Using this naming policy with Gson will modify the Java Field name from its camel cased form to a lower case field name where each word is separated by an underscore (_).

      Here's a few examples of the form "Java Field Name" ---> "JSON Field Name":

      • someFieldName ---> some_field_name
      • _someFieldName ---> _some_field_name
      • aStringField ---> a_string_field
      • aURL ---> a_u_r_l
    • LOWER_CASE_WITH_DASHES

      public static final FieldNamingPolicy LOWER_CASE_WITH_DASHES
      Using this naming policy with Gson will modify the Java Field name from its camel cased form to a lower case field name where each word is separated by a dash (-).

      Here's a few examples of the form "Java Field Name" ---> "JSON Field Name":

      • someFieldName ---> some-field-name
      • _someFieldName ---> _some-field-name
      • aStringField ---> a-string-field
      • aURL ---> a-u-r-l
      Using dashes in JavaScript is not recommended since dash is also used for a minus sign in expressions. This requires that a field named with dashes is always accessed as a quoted property like myobject['my-field']. Accessing it as an object field myobject.my-field will result in an unintended javascript expression.
      Since:
      1.4
  • Method Details

    • values

      public static FieldNamingPolicy[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static FieldNamingPolicy valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null