Sérialisation personnalisée Fastjson


Sérialisation personnalisée Fastjson

1 Introduction

fastjson prend en charge plusieurs façons de personnaliser la sérialisation.

  • Sérialisation personnalisée via @JSONField
  • Sérialisation personnalisée via @JSONType
  • Sérialisation personnalisée via SerializeFilter
  • Désérialisation personnalisée via ParseProcess

2 Utilisez la configuration @JSONField

Vous pouvez configurer @JSONFi. champ Sur champs ou getter/ méthodes de définition. Par exemple :

 public class VO {
      @JSONField(name="ID")
      private int id;
 }

ou

 public class VO {
      private int id;

      @JSONField(name="ID")
      public int getId() { return id;}

      @JSONField(name="ID")
      public void setId(int value) {this.id = id;}
 }

Pour en savoir plus, cliquez ici : JSONField

3 L'utilisation de @JSONType pour configurer

est similaire à JSONField, mais JSONType est configuré sur la classe, pas sur le champ ou sur la méthode getter/setter. .

4. Sérialisation personnalisée via SerializeFilter

La sérialisation personnalisée peut être mise en œuvre à l'aide d'une programmation étendue via SerializeFilter. fastjson fournit une variété de SerializeFilter :

  • PropertyPreFilter détermine s'il faut sérialiser en fonction du PropertyName
  • PropertyFilter détermine s'il faut sérialiser en fonction du PropertyName et de la PropertyValue
  • NameFilter Modifie la clé, si vous devez modifier la clé, traite la valeur de retour peut
  • ValueFilter Modifier la valeur
  • BeforeFilter Ajouter du contenu au début lors de la sérialisation
  • AfterFilter Ajouter du contenu à la fin lors de la sérialisation
SerializeFilter filter = ...; // 可以是上面5个SerializeFilter的任意一种。
  JSON.toJSONString(obj, filter);

Voir plus ici : SerializeFilter

5. Personnaliser la désérialisation via ParseProcess

Custom. ize désérialisation API ParseProcess