日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

(3)-JSONObject的过滤设置

發布時間:2025/5/22 javascript 115 豆豆
生活随笔 收集整理的這篇文章主要介紹了 (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的过滤设置的全部內容,希望文章能夠幫你解決所遇到的問題。

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