可能存在這樣一種狀況,Jackson已經知足了大部分的序列化和反序列化工做,可是對於複雜的泛型實體估計未必能如願的正常反序列,而此時對於一些泛型裏面的實體對象就會反序列化成LinkedHashMap類型的。
json
一樣,這個類型不能直接強制轉換成想要的實體,此時要解決此類問題的思路以下:app
一、繼續將這個LinkedHashMap進行序列化程JSON,而後再反序列化,可是這樣效率就低了。
spa
二、直接使用自帶的convertValue方法將這個LinkedHashMap以Object類型轉成想要的實體。
code
樣例:對象
POJO pojo = mapper.convertValue(singleObject, POJO.class); // or: List<POJO> pojos = mapper.convertValue(listOfObjects, new TypeReference<List<POJO>>() { });
雖然效率仍是低了,可是比第一種方式少了一步,效率減小了一點。blog
參考:get
https://stackoverflow.com/questions/15430715/casting-linkedhashmap-to-complex-objecthash