Anda boleh menggunakan kelas JsonConfig untuk mengkonfigurasi proses bersiri. Kita boleh menggunakan kaedah setJsonPropertyFilter() JsonConfig untuk menetapkan penapis harta apabila membuat siri kepada JSON. Kita perlu melaksanakan kelas PropertyFilter tersuai dengan mengatasi kaedah apply() antara muka PropertyFilter. Mengembalikan benar jika atribut akan ditapis keluar, sebaliknya palsu.
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 }
Atas ialah kandungan terperinci Bagaimana untuk menukar kacang kepada objek JSON menggunakan penapis kecuali dalam Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!