WEB开发网
开发学院软件开发Java 用 annotation 辅助 Json-lib 转换 JavaBean 阅读

用 annotation 辅助 Json-lib 转换 JavaBean

 2010-07-19 00:00:00 来源:WEB开发网   
核心提示: Json-lib 的使用很容易,只要使用 JSONSerializer 的 toJSON 方法就可以转换任意的 Java Object 为 JSON 对象了,用 annotation 辅助 Json-lib 转换 JavaBean(2),再调用 JSON 对象的 toString 方法可以得到转

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: 需要自定义某些属性的转换方式

上一页  1 2 3 4 5 6  下一页

Tags:annotation 辅助 Json

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接