1. 程式人生 > >JSONArray.fromObject不執行且不報錯問題的解決

JSONArray.fromObject不執行且不報錯問題的解決

重寫 4.2 技術分享 array fff bean 今天 打印 開始

今天在寫javaweb工程的時候需要向前臺傳json格式的數據,用到了json-lib-2.4-jdk15.jar等一系列包,然而卻出現如下狀況:

技術分享圖片

CityBean是一個javaBean,我們看到,控制臺只打印出了list的內容,而下面的兩個卻沒能打印,這說明程序執行到JSON.Array.fromObject()時終止,而控制臺沒有報任何錯誤,也沒有異常拋出,特別奇怪。

下面是有關JSON導入的包:

技術分享圖片

首先包的數量是正確的,而且都是我才從官網上下載好的,都是最新的版本,所以一開始我並沒有將重心放到jar包上。

後來看到網上說List中的javaBean包含其它實體屬性,打印出來是個內存值,在轉換json的過程中異常,將實體屬性轉換成字符串重新填充即可,於是我在CityBean中重寫了toString()方法:

技術分享圖片

技術分享圖片

可惜JSONArray.fromObject()仍然不執行。。。。。。

後來寫了個test用JUnit調試了一下,終於報異常了

技術分享圖片

技術分享圖片

顯示找不到lang下面的類????我明明導入了lang包啊。

據說tomcat是在它自己的lib目錄下找jar包,如果jar包沒有存放在tomcat的lib目錄下,那麽就會找不到。可是我放入了之後依舊報同樣的錯誤。

最後我終於發現,我導入的是commons-lang3-3.7.jar,而程序需要的是commons-lang的jar包,後來去官網看了以前的版本,果然2.x的包lang後面沒有緊跟著數字,同理commons-collections4-4.2.jar也應替換到之前的版本。

技術分享圖片

demo通過:

技術分享圖片

程序正常執行:

技術分享圖片

JSONArray.fromObject不執行且不報錯問題的解決