将JavaBean及List集合转换为JSON

由于我的那个GridPanel要求数据源提供的数据为JSON格式,而我用Hibernate查出来的要么是List集合要么就是JavaBean。要把这样的数据转成JSON格式我是手工拼出来的。可是我很懒,我想用更简单更快捷的方式把他们转成JSON,为了实现这种转换,就必须找到传说中的如下6个jar包。
commons-beanutils-1.7.0.jar
commons-collections-3.2.jar
commons-lang-2.0.jar
commons-logging-1.0.4.jar
ezmorph-1.0.2.jar
json-lib-2.2.2-jdk15.jar
在net.sf.json.*下为你提供了很多工具类。但是这个直接转换出来的JSON还不是我想要的最终效果,我还需要指定数据总数等,而且这种格式要被多次使用。于是自己写了个工具类,对其进行了简单的封装。

import java.util.Hashtable;
import java.util.List;
import java.util.Map;
import net.sf.json.JSONObject;
public class Java2JSON {
public static JSONObject generate(List<?> list,int count) {
Map<String, Object> map = new Hashtable<String, Object>();
map.put("totalCount", count);
map.put("topics", list);
return JSONObject.fromObject(map);
}
public static JSONObject javabean2json(Object object) {
Map<String, Object> map = new Hashtable<String, Object>();
map.put("success", true);
map.put("data", object);
return JSONObject.fromObject(map);
}
}

转换的结果是JSONObject类型,调用该对象自身的toString()方法即可得到JSON语句。

About the Author