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;
 }

相关推荐