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

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

JSON 中JsonConfig的使用

2019-11-11 03:07:48
字體:
供稿:網(wǎng)友

我們通常對一個Json串和java對象進行互轉(zhuǎn)時,經(jīng)常會有選擇性的過濾掉一些屬性值,而json-lib包中的JsonConfig為我們提供了這種功能,具體實現(xiàn)方法有以下幾種。(1)建立JsonConfig實例,并配置屬性排除列表,(2)用屬性過濾器,(3)寫一個自定義的JsonBeanPRocessor.1. 實現(xiàn)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可以允許同時對需要排除的屬性和類進行控制,這種控制還可以是雙向的,也可以應(yīng)用到j(luò)son字符串到j(luò)ava對象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,這種方式和實現(xiàn)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( “l(fā)astname”, person.getLastname());  }  });  Person bean = new Person(“jack”,”li”); JSON json = JSONSerializer.toJSON( bean, jsonConfig );


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 罗定市| 庆安县| 漯河市| 南木林县| 武城县| 焦作市| 永安市| 五峰| 荃湾区| 汕头市| 尖扎县| 江阴市| 洪雅县| 特克斯县| 新蔡县| 托里县| 新干县| 会宁县| 广宁县| 原阳县| 西乌珠穆沁旗| 淮阳县| 枣庄市| 含山县| 志丹县| 云梦县| 大兴区| 蓬莱市| 蓬安县| 右玉县| 长兴县| 高唐县| 盐城市| 宝清县| 萍乡市| 瓦房店市| 商都县| 灌阳县| 庄浪县| 彰化市| 宜都市|