## Exclusion de champs de sérialisation dans Gson
Lors de la sérialisation d'objets avec Gson, il est souhaitable d'exclure des champs spécifiques de la sortie JSON résultante. Bien que les annotations offrent une méthode efficace d'exclusion de champs, cet article explore une solution qui exploite les expressions régulières, tout en maintenant la cohérence avec le paramètre « excludeProperties » du plugin Struts2 JSON.
Initialement, une tentative a été faite pour utiliser la stratégie d'exclusion de GsonBuilder. Cependant, FieldAttributes ne dispose pas des informations nécessaires pour faire correspondre avec précision les champs en fonction de leur position dans le graphique d'objet.
Pour éviter de sérialiser des champs spécifiques, le modificateur "transient" peut être utilisé. En annotant les champs avec le mot clé « transient », ils seront exclus de la sérialisation. Par exemple :
private transient String name;
Pour obtenir une exclusion granulaire des champs imbriqués, tels que « country.name », des expressions régulières peuvent être utilisées. Malheureusement, Gson ne fournit pas de mécanisme simple pour appliquer des filtres regex à l'exclusion de champs.
Par conséquent, une approche alternative est suggérée, qui consiste à modifier l'objet JSON après la sérialisation. Cette approche nécessite les étapes suivantes :
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!