日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

(3)-JSONObject的过滤设置

發布時間:2025/5/22 132 豆豆
生活随笔 收集整理的這篇文章主要介紹了 (3)-JSONObject的过滤设置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我們通常對一個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屬性怎么辦?

方法一:實現JSONString接口

?

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()); ????} }

?

方法二:設置jsonconfig實例,對包含和需要排除的屬性進行添加或刪除。

?

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()); ????} }

?

方法三:使用propertyFilter實例過濾屬性。

?

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()); ????} }

總結

以上是生活随笔為你收集整理的(3)-JSONObject的过滤设置的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。