問題重現
使用Feign調用其他服務的時候,想要將返回數據強轉爲對象
結果發現出現異常:
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to ********************
看了下異常信息,發現不能將LinkedHashMap強轉成其他對象,找了很多資料,才找出解決方案。
解決方法
1.直接使用Map<String,Object>對象來接
使用Map<String,Object> map = data,然後使用map.get()來獲取裏面的值。
注意:如果有多個字段的話,不建議使用這樣來做,太傻了。
2.使用JSON字符串來轉對象
使用阿里的fastJson來將這個linkedHashMap轉換成對象。
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
JSON.parseObject(JSON.toJSONString(數據), new TypeReference<對象>() {
});
感謝萬能的網絡