java的Jackson将json字符串转换成泛型List
程序员文章站
2024-03-07 08:10:32
jackson,我感觉是在java与json之间相互转换的最快速的框架,当然google的gson也很不错,但是参照网上有人的性能测试,看起来还是jackson比较快一点...
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); }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。