国产探花免费观看_亚洲丰满少妇自慰呻吟_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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 泽州县| 驻马店市| 都江堰市| 隆德县| 日喀则市| 莱西市| 新民市| 北海市| 烟台市| 开江县| 庆阳市| 巴东县| 文化| 木里| 陕西省| 中山市| 余干县| 大名县| 南通市| 舟曲县| 长沙县| 工布江达县| 安平县| 宁明县| 巴东县| 渭南市| 仁布县| 林西县| 兴山县| 固始县| 安化县| 田东县| 来宾市| 溧阳市| 如东县| 耒阳市| 凤冈县| 子长县| 巴塘县| 绥德县| 珠海市|