用 annotation 辅助 Json-lib 转换 JavaBean
2010-07-19 00:00:00 来源:WEB开发网Json-lib 的使用很容易,只要使用 JSONSerializer 的 toJSON 方法就可以转换任意的 Java Object 为 JSON 对象了,再调用 JSON 对象的 toString 方法可以得到转换后的字符串。不过还有一些进一步的问题需要我们自己来解决。
清单 1. 使用 JSONSerializer
import net.sf.json.JSONSerializer;
List list = new ArrayList();
list.add( "first" );
list.add( "second" );
JSON json = JSONSerializer.toJSON( list );
System.out.println( json.toString() );
// prints ["first","second"]
class MyBean{
private String name = "json";
private int pojoId = 1;
// getters & setters
...
}
json = JSONSerializer.toJSON( new MyBean() );
System.out.println( json.toString() );
// prints {"name":"json","pojoId":1}
问题 1: 需要有选择的提取 JavaBean 中的属性
清单 1 中的例子转换后的 JSON 数据中包含了 JavaBean 中的全部属性,可是我们常常需要有选择的提取 JavaBean 中的特定属性出来。例如:
需要过滤掉循环引用的属性,这一点 json-lib 提供了 CycleDetectionStrategy 来处理,但是直接过滤掉更简单;
不同的情况下只需要 JavaBean 中的部分属性:比如列表界面只需要显示 Bean 的几个重要属性,而详情界面则需要显示更多的 Bean 的属性;
不同的用户权限限制用户只能获得某些属性数据;
问题 2: 需要自定义某些属性的转换方式
Tags:annotation 辅助 Json
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接