Maison > Java > javaDidacticiel > Comment convertir un bean en objet JSON à l'aide d'un filtre d'exclusion en Java ?

Comment convertir un bean en objet JSON à l'aide d'un filtre d'exclusion en Java ?

WBOY
Libérer: 2023-08-18 19:05:21
avant
1297 Les gens l'ont consulté

Comment convertir un bean en objet JSON à laide dun filtre dexclusion en Java ?

Vous pouvez utiliser la classe JsonConfig pour configurer le processus de sérialisation. Nous pouvons utiliser la méthode setJsonPropertyFilter() de JsonConfig pour définir le filtre de propriétés lors de la sérialisation en JSON. Nous devons implémenter une classe custom PropertyFilter en remplaçant la méthode apply() de l'interface PropertyFilter. Renvoie vrai si l'attribut est filtré, faux sinon.

Syntaxe

public void setJsonPropertyFilter(PropertyFilter jsonPropertyFilter)
Copier après la connexion

Exemple

import net.sf.json.JSONObject;
import net.sf.json.JsonConfig;
import net.sf.json.util.PropertyFilter;
public class ConvertBeanToJsonExcludeFilterTest {
   public static void main(String[] args) {
      Student student = new Student("Sai", "Chaitanya", 20, "Hyderabad");
      JsonConfig jsonConfig = new JsonConfig();
      jsonConfig.setJsonPropertyFilter(new CustomPropertyFilter());

      JSONObject jsonObj = JSONObject.fromObject(student, jsonConfig);
      System.out.println(jsonObj.toString(3)); //pretty print JSON
   }
   public static class Student {
      private String firstName, lastName, address;
      public int age;
      public Student(String firstName, String lastName, int age, String address) {
         super();
         this.firstName = firstName;
         this.lastName = lastName;
         this.age = age;
         this.address = address;
      }
      public String getFirstName() {
         return firstName;
      }
      public String getLastName() {
         return lastName;
      }
      public int getAge() {
         return age;
      }
      public String getAddress() {
         return address;
      }
   }
}
// CustomPropertyFilter class
class CustomPropertyFilter implements PropertyFilter {
   @Override
   public boolean apply(Object source, String name, Object value) {
      if(Number.class.isAssignableFrom(value.getClass()) ||        String.class.isAssignableFrom(value.getClass())) {
         return false;
      }
      return true;
   }
}
Copier après la connexion

Sortie

{
  "firstName": "Sai",
  "lastName": "Chaitanya",
  "address": "Hyderabad",
  "age": 20
}
Copier après la connexion

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!

Étiquettes associées:
source:tutorialspoint.com
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