程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> java的Jackson將json字符串轉換成泛型List

java的Jackson將json字符串轉換成泛型List

編輯:關於JAVA

java的Jackson將json字符串轉換成泛型List。本站提示廣大學習愛好者:(java的Jackson將json字符串轉換成泛型List)文章只能為提供參考,不一定能成為您想要的結果。以下是java的Jackson將json字符串轉換成泛型List正文


Jackson,我覺得是在Java與Json之間互相轉換的最疾速的框架,當然Google的Gson也很不錯,但是參照網上有人的功能測試,看起來還是Jackson比擬快一點

Jackson處置普通的JavaBean和Json之間的轉換只需運用ObjectMapper 對象的readValue和writeValueAsString兩個辦法就能完成。但是假如要轉換復雜類型Collection如 List<YourBean>,那麼就需求先反序列化復雜類型 為泛型的Collection Type。

假如是ArrayList<YourBean>那麼運用ObjectMapper 的getTypeFactory().constructParametricType(collectionClass, elementClasses);

假如是HashMap<String,YourBean>那麼 ObjectMapper 的getTypeFactory().constructParametricType(HashMap.class,String.class, YourBean.class);

  public final ObjectMapper mapper = new ObjectMapper(); 
   
  public static void main(String[] args) throws Exception{ 
    JavaType javaType = getCollectionType(ArrayList.class, YourBean.class); 
    List<YourBean> lst = (List<YourBean>)mapper.readValue(jsonString, javaType); 
  }
  
    /**  
    * 獲取泛型的Collection Type 
    * @param collectionClass 泛型的Collection  
    * @param elementClasses 元素類  
    * @return JavaType Java類型  
    * @since 1.0  
    */  
  public static JavaType getCollectionType(Class<?> collectionClass, Class<?>... elementClasses) {  
    return mapper.getTypeFactory().constructParametricType(collectionClass, elementClasses);  
  }

以上就是本文的全部內容,希望對大家的學習有所協助,也希望大家多多支持。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved