JsonConfig
来源:互联网 发布:禹鼎遥控器编程软件 编辑:程序博客网 时间:2024/06/07 02:40
我们通常对一个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类的合法JSONObject
public 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 );
- JsonConfig
- JsonConfig
- JsonConfig
- jsonConfig配置
- jsonconfig详解
- jsonConfig用法
- jsonConfig使用
- JsonConfig的jsonConfig.setExcludes的用法
- jsonConfig详细使用
- JsonConfig处理日期
- JSONLib-JsonConfig探讨
- Json lib JsonConfig用法
- json-lib jsonConfig操作
- Json-lib JsonConfig
- JSON 中JsonConfig的使用
- JSON 中JsonConfig的使用
- JSON 中JsonConfig的使用
- JsonConfig的常见的方法
- CSS z-index 属性 控制div上下层次
- Suse Linux 10 MySql安装与配置
- 搞定IIS老坏的方法
- JSON 中JsonConfig的使用
- 命令模式
- JsonConfig
- 观察者模式
- JSONObject JSONSerializer JSONArray java中的使用
- 【妙味课堂】第一期JavaScript讨论会(多图片)
- WinCE 6.0 模拟器与ActiveSync连接不成功的一种解决方法!
- XP登陆以后自动注销的解决办法
- ubuntu animals
- 解决和剖析IIS错误提示:您不具备查看该目录或页面的权限,因为访问控制列表(ACL)对Web 服务器上的该资源进行了配置
- Symantec 250-270 最新考试题库资讯分享