Heim  >  Artikel  >  Java  >  Wie konvertiere ich eine Bean mithilfe des Ausschlussfilters in Java in ein JSON-Objekt?

Wie konvertiere ich eine Bean mithilfe des Ausschlussfilters in Java in ein JSON-Objekt?

WBOY
WBOYnach vorne
2023-08-18 19:05:211275Durchsuche

Wie konvertiere ich eine Bean mithilfe des Ausschlussfilters in Java in ein JSON-Objekt?

Sie können die Klasse JsonConfig verwenden, um den Serialisierungsprozess zu konfigurieren. Wir können die Methode setJsonPropertyFilter() von JsonConfig verwenden, um den Eigenschaftsfilter bei der Serialisierung in JSON festzulegen. Wir müssen eine custom PropertyFilter-Klasse implementieren, indem wir die apply()-Methode der PropertyFilter-Schnittstelle überschreiben. Gibt true zurück, wenn das Attribut herausgefiltert wird, andernfalls false.

Syntax

public void setJsonPropertyFilter(PropertyFilter jsonPropertyFilter)

Beispiel

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;
   }
}

Ausgabe

{
  "firstName": "Sai",
  "lastName": "Chaitanya",
  "address": "Hyderabad",
  "age": 20
}

Das obige ist der detaillierte Inhalt vonWie konvertiere ich eine Bean mithilfe des Ausschlussfilters in Java in ein JSON-Objekt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen