国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

JSON 中JsonConfig的使用

2019-11-11 02:23:56
字體:
來源:轉載
供稿:網友

我們通常對一個Json串和java對象進行互轉時,經常會有選擇性的過濾掉一些屬性值,而json-lib包中的JsonConfig為我們提供了這種功能,具體實現方法有以下幾種。(1)建立JsonConfig實例,并配置屬性排除列表,(2)用屬性過濾器,(3)寫一個自定義的JsonBeanPRocessor.1. 實現JSONString接口的方法public class Person implements JSONString {  private String name;  private String lastname;  private Address address;  // getters & setters  public String toJSONString() {return “{name:’”+name+”’,lastname:’”+lastname+”’}”;}}2.第二種方法通過jsonconfig實例,對包含和需要排除的屬性進行方便的添加或刪除public class Person {  private String name;  private String lastname;  private Address address;  // getters & setters  }  JsonConfig jsonConfig = new JsonConfig();  jsonConfig.setExclusions( new String[]{“address”});  Person bean = new Person(“jack”,”li”);  JSON json = JSONSerializer.toJSON(bean, jsonConfig);  3. 使用propertyFilter可以允許同時對需要排除的屬性和類進行控制,這種控制還可以是雙向的,也可以應用到json字符串到java對象public class Person {  private String name;  private String lastname;  private Address address;  // getters & setters  }  JsonConfig jsonConfig = new JsonConfig();  jsonConfig.setJsonPropertyFilter( new PropertyFilter(){  public boolean apply(Object source/* 屬性的擁有者 */, String name /*屬性名字*/, Object value/* 屬性值 */ ){  // return true to skip name  return source instanceof Person && name.equals(“address”);  }  });  Person bean = new Person(“jack”,”li”); JSON json = JSONSerializer.toJSON( bean, jsonConfig )  4. 最后來看JsonBeanProcessor,這種方式和實現JsonString很類似,返回一個代表原來的domain類的合法JSONObjectpublic class Person {  private String name;  private String lastname;  private Address address;  // getters & setters  }  JsonConfig jsonConfig = new JsonConfig();  jsonConfig.registerJsonBeanProcessor( Person.class, new JsonBeanProcessor(){  public JSONObject processBean( Object bean, JsonConfig jsonConfig ){  if(!(bean instanceof Person)){  return new JSONObject(true);  }  Person person = (Person) bean;  return new JSONObject() .element( “name”, person.getName()) .element( “lastname”, person.getLastname());  }  });  Person bean = new Person(“jack”,”li”); JSON json = JSONSerializer.toJSON( bean, jsonConfig );


上一篇:直接插入排序

下一篇:Hdu 1062

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 伽师县| 尖扎县| 枣庄市| 丘北县| 湘阴县| 克什克腾旗| 广安市| 沙洋县| 福贡县| 久治县| 德安县| 娱乐| 临夏县| 德格县| 邵武市| 镇宁| 龙海市| 乐业县| 尼木县| 鄂温| 奉贤区| 嘉鱼县| 宁强县| 察哈| 汉中市| 新源县| 淳化县| 徐闻县| 西乡县| 莱阳市| 海晏县| 桂阳县| 陆河县| 泊头市| 千阳县| 林甸县| 宣城市| 松阳县| 河北省| 福清市| 康保县|