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

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

WBOY
WBOYavant
2023-09-02 11:01:07840parcourir

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;
   }
}

输出

<strong>{</strong>
<strong> "fist-name": "Raja",
   "last-name": "Ramesh",
   "_age": 30,
   "date-of-birth": "1988-01-01"
}</strong>

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer