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

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

JSON 中JsonConfig的使用

2019-11-11 04:22:25
字體:
來源:轉載
供稿:網友

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 乐山市| 汕尾市| 沧州市| 正镶白旗| 长沙市| 汶上县| 潢川县| 神木县| 麟游县| 黔江区| 淳安县| 泰来县| 五家渠市| 望城县| 八宿县| 长汀县| 广元市| 佛学| 泰顺县| 宁陵县| 甘孜县| 普格县| 水富县| 日土县| 阿坝县| 清镇市| 故城县| 乌鲁木齐县| 太谷县| 杭锦后旗| 治多县| 岫岩| 丹凤县| 盐山县| 富民县| 儋州市| 金昌市| 和林格尔县| 桃园市| 额济纳旗| 诸城市|