net.sf.json.JSONException: java.lang.reflect.InvocationTargetException問題解決

這周項目出現一個問題,部分單據在查詢詳情的時候。報錯

net.sf.json.JSONException: java.lang.reflect.InvocationTargetException

一看這個報錯初步判斷是JSON轉換的時候出問題了。

然後根據堆棧信息找到了對於的方法。裏面有一段代碼

JSONSerializer.toJSON(item).toString();

這裏的item是一個級聯查詢的結果。
item包括單據中部分信息和幾個list集合屬性。

查找資料,發現如果實體類中的map的value值有null,或者存在java.sql.date類型的時間值,解析的時候會出現這個問題。

而上面的item這兩個問題可能都有。調試代碼發現是其中一個list屬性中包含了java.sql.date。

 

解決思路是將這個java.sql.date轉換成java.util.Date。

思路確定就好辦了。

項目使用的mybatis,查找到對應的mapper。然後將返回類型returnType="Map",修改爲returnMap="實體類"。

問題解決。

 

知識使我快樂

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章