栏目:Json与Bean 作者:admin 日期:2015-05-10 评论:2 点击: 5,967 次
我们通常对一个json串和java对象进行互转时,经常会有选择性的过滤掉一些属性值。例如下面的类:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
public class Person { private String name; private String address; private String sex; public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } } |
如果我想过滤address属性怎么办?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
import net.sf.json.JSONString; public class Person implements JSONString { private String name; private String sex; private String address; public String toJSONString() { return "{\"name\":\"" + name + "\",\"sex\":\"" + sex + "\"}"; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } } import net.sf.json.JSONObject; public class Test { public static void main(String args[]) { Person person = new Person(); person.setName("swiftlet"); person.setSex("men"); person.setAddress("china"); JSONObject json = JSONObject.fromObject(person); System.out.println(json.toString()); } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
import net.sf.json.JSONObject; import net.sf.json.JsonConfig; public class Test { public static void main(String args[]) { Person person = new Person(); person.setName("swiftlet"); person.setSex("men"); person.setAddress("china"); JsonConfig jsonConfig = new JsonConfig(); jsonConfig.setExcludes(new String[] { "address" }); JSONObject json = JSONObject.fromObject(person, jsonConfig); System.out.println(json.toString()); } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
import net.sf.json.JSONObject; import net.sf.json.JsonConfig; import net.sf.json.util.PropertyFilter; public class Test { public static void main(String args[]) { Person person = new Person(); person.setName("swiftlet"); person.setSex("men"); person.setAddress("china"); JsonConfig jsonConfig = new JsonConfig(); jsonConfig.setJsonPropertyFilter(new PropertyFilter() { public boolean apply(Object source, String name, Object value) { return source instanceof Person && name.equals("address"); } }); JSONObject json = JSONObject.fromObject(person, jsonConfig); System.out.println(json.toString()); } } |
------====== 本站公告 ======------
金丝燕网,一个严谨的网站!