jackson,我感觉是在java与json之间相互转换的最快速的框架,当然google的gson也很不错,但是参照网上有人的性能测试,看起来还是jackson比较快一点
jackson处理一般的javabean和json之间的转换只要使用objectmapper 对象的readvalue和writevalueasstring两个方法就能实现。但是如果要转换复杂类型collection如 list6f9a1a6711dbe2504e0d3824080f2898,那么就需要先反序列化复杂类型 为泛型的collection type。
如果是arraylist6f9a1a6711dbe2504e0d3824080f2898那么使用objectmapper 的gettypefactory().constructparametrictype(collectionclass, elementclasses);
如果是hashmapf06a8c1c72a64d06223d9867f08acdf6那么 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);
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
更多java的jackson将json字符串转换成泛型list。