/***
* @Description:
* @Author:
* @Date:2009-8-6 下午06:43:57
* @param <T>
* @param obj
* obj 格式:
* {BookData:
* [
* {'bookId':'7309','id':'31209','checkResult':'1','checkSatauts':'0','isComplete':'1'},
* {'bookId':'7309','id':'31210','checkResult':'2','checkSatauts':'0','isComplete':'1'}
* ]
* }
* @param clazz
* @return
*/
public static <T> List<T> getJsonData(Object obj,Class clazz){
//TODO 怎么从 T 中获取 class ??
//TODO 要不然就可以不要 clazz 参数 了
//TODO 现在不伦不类的
//TODO 这个泛型用的没多大的作用
JSONObject jsonObject = JSONObject.fromObject(obj);
List<T> list = new ArrayList<T>();
for (Iterator iter = jsonObject.keys(); iter.hasNext();) {
String key = (String) iter.next();
JSONArray array = jsonObject.getJSONArray(key);
for (int i = 0; i < array.size(); i++) {
JSONObject object = (JSONObject) array.get(i);
T t = (T)JSONObject.toBean(object,clazz);
if(t != null) list.add(t);
}
}
return list;
}