Jackson,我感覺是在Java與Json之間相互轉(zhuǎn)換的最快速的框架,當(dāng)然Google的Gson也很不錯(cuò),但是參照網(wǎng)上有人的性能測(cè)試,看起來(lái)還是Jackson比較快一點(diǎn)
Jackson處理一般的JavaBean和Json之間的轉(zhuǎn)換只要使用ObjectMapper 對(duì)象的readValue和writeValueAsString兩個(gè)方法就能實(shí)現(xiàn)。但是如果要轉(zhuǎn)換復(fù)雜類型Collection如 List<YourBean>,那么就需要先反序列化復(fù)雜類型 為泛型的Collection Type。
如果是ArrayList<YourBean>那么使用ObjectMapper 的getTypeFactory().constructParametricType(collectionClass, elementClasses);
如果是HashMap<String,YourBean>那么 ObjectMapper 的getTypeFactory().constructParametricType(HashMap.class,String.class, YourBean.class);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
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); } |
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。
原文鏈接:http://www.cnblogs.com/peach/p/6376142.html