Maison > Java > javaDidacticiel > le corps du texte

Comment définir la convention de dénomination pour les noms de champs JSON en Java ?

WBOY
Libérer: 2023-09-02 11:01:07
avant
827 Les gens l'ont consulté

Comment définir la convention de dénomination pour les noms de champs JSON en Java ?

La FieldNamingPolicy peut être utilisée pour définir quelques conventions de dénomination standard pour les noms de champs JSON et elle peut être utilisée conjointement avec GsonBuilder pour configurer une Gson instance pour traduire correctement les noms de champs Java dans le noms de champs JSON souhaités. Nous pouvons utiliser la méthode setFieldNamingPolicy() de GsonBuilder pour configurer une stratégie de politique de dénomination spécifique pour le champ d'un objet pendant la sérialisation et la désérialisation.

Gson prend en charge diverses exigences de dénomination de champ avec les politiques de dénomination de champ suivantes

  • FieldNamingPolicy.IDENTITY : il utilise exactement le même nom que le modèle Java lorsqu'il sérialise un objet.
  • FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES : il modifie un nom de champ Java de sa forme en casse chameau à un nom de champ minuscule où chaque Le mot est séparé par un trait de soulignement (_).
  • FieldNamingPolicy.LOWER_CASE_WITH_DASHES : Il modifie le nom du champ Java de sa forme en chameau en un nom de champ minuscule où chaque mot est séparé par un tiret (-).
  • FieldNamingPolicy.UPPER_CAMEL_CASE : Il garantira que la première "lettre" du nom du champ Java est en majuscule lorsqu'il est sérialisé dans sa forme JSON.
  • FieldNamingPolicy.UPPER_CAMEL_CASE_WITH_SPACES : Il garantira que la première "lettre" du champ Java le nom est en majuscule lorsqu'il est sérialisé sous sa forme JSON et les mots seront séparés par un espace.

Exemple

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;
   }
}
Copier après la connexion

输出

<strong>{</strong>
<strong> "fist-name": "Raja",
   "last-name": "Ramesh",
   "_age": 30,
   "date-of-birth": "1988-01-01"
}</strong>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal