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); }
以上就是本文的全部內容,希望對大家的學習有所協助,也希望大家多多支持。