Maison > Java > javaDidacticiel > Comment puis-je exclure des champs de sérialisation spécifiques dans Gson à l'aide d'expressions régulières ?

Comment puis-je exclure des champs de sérialisation spécifiques dans Gson à l'aide d'expressions régulières ?

DDD
Libérer: 2024-12-13 08:57:10
original
504 Les gens l'ont consulté

How Can I Exclude Specific Serialization Fields in Gson Using Regular Expressions?

## 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.

Une tentative d'exclusion de champ avec ExclusionStrategy

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.

Exploiter le modificateur "transient"

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

Exclusion de champs basée sur Regex

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 :

  1. Sérialisez l'objet à l'aide de Gson.
  2. Convertissez le JSON sérialisé en un objet JSON.
  3. Utilisez des expressions régulières pour supprimer les éléments indésirables champs de l'objet JSON.
  4. Convertissez l'objet JSON modifié en chaîne.

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:php.cn
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