日期:2014-05-16  浏览次数:20327 次

json-lib.jar 将Json字符串转换为Java对象

??? 最近有个需求,一个JSON字符串存储在数据库表中。需要将其转换为Java对象。? 最开始用的是GSON,但是该Jar包功能不够强大,碰到值中有特殊字符的就会抛出异常。比如:/ , :? 等。?? 最后决定用json-lib.jar试试,发现json-lib.jar比GSON强大。值中有特殊字符也可以解析。

?

?

/**
? * 根据指定的JSON字符串转换为Java对象链表,并返回。
? *
? * @param <T>?????? 参数化类型
? * @param jsonInput json字符串
? * @param clazz???? 参数化类型class对象
? * @return????????? 返回转换后的对象链表
? */
?@SuppressWarnings({ "unchecked", "static-access" })
??? public static <T> List<T> getObjList(String jsonInput, Class<? extends T> clazz)
?{
??List<T> resultList = new LinkedList<T>();
??
??JSONArray jsonArray = JSONArray.fromObject(jsonInput);
??Object tmpObj = null;
??JSONObject jsonObject = null;
??
??for (int i = 0; i< jsonArray.size(); i++)
??{
???tmpObj = jsonArray.get(i);
???jsonObject = JSONObject.fromObject(tmpObj);
???
???resultList.add((T) jsonObject.toBean(jsonObject, TLawGuideAttachment.class));
??}
??
??return resultList;
?}