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

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

JSON 中JsonConfig的使用

2019-11-11 02:54:32
字體:
來源:轉載
供稿:網友

我們通常對一個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 );


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 慈利县| 舒兰市| 嘉义市| 龙口市| 诸暨市| 喀喇沁旗| 黎川县| 达尔| 湘潭市| 阿荣旗| 井陉县| 唐河县| 江孜县| 中宁县| 专栏| 综艺| 盈江县| 阿坝| 大关县| 珲春市| 宿迁市| 武川县| 大姚县| 菏泽市| 北川| 东乡族自治县| 通榆县| 尤溪县| 新乡市| 东阳市| 辉南县| 紫云| 佛冈县| 连城县| 闵行区| 如皋市| 南部县| 广水市| 渭南市| 晋中市| 江阴市|