日期:2014-05-16 浏览次数:20389 次
简介:
?本文介绍使用 Json-lib 将 JavaBean 转换为 JSON 数据的方法。我们将使用 annotation 来灵巧地筛选 JavaBean 中的属性,并通过 annotation 来定义特殊的 JsonValueProcessor。
用 annotation 辅助 Json-lib 转换 JavaBean
概述
如 今大量的 Web 站点应用了 AJAX 技术,通过更少的数据通讯,服务器能够更快的反馈用户请求,再通过 Javascript 的控制,让使用者有了更好的用户体验。JSON 是一种轻量级的数据交换语言,它是 Javascript 的一个子集,又有良好的可读性,经常用于客户端和服务器间的数据交换。因此,在服务器端,常常需要将实体对象(JavaBean)转换为 JSON 格式数据。本文介绍了如何使用 Json-lib 转换 JavaBean 为 JSON 格式数据,并给出解决方法,以及利用 annotation 来增强 Json-lib 的两个功能:一是灵活的筛选 JavaBean 属性;二是通过 JsonValueProcessor 来自定义如何转换 JavaBean 属性到 JSON 数据。
回页首
JSON 数据格式
JSON 的数据格式简单易读,它存在于两种基本形式:
这两种形式的有机组合,就形成了 JSON 数据。
回页首
使用 Json-lib 转换 JavaBean 为 JSON 数据
Json-lib 是一个 java 工具库,它提供 api 来转换 JavaBean,Map,Collection 等对象为 JSON 数据,或反过来通过 JSON 数据得到 JavaBean。
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() );
Sy
|