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.
public void setJsonPropertyFilter(PropertyFilter jsonPropertyFilter)
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; } }
{ "firstName": "Sai", "lastName": "Chaitanya", "address": "Hyderabad", "age": 20 }
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!