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