fastjson JSON.toJavaObject() 實體類首字母大寫屬性無法解析問題

當實體類中存在如CREATE_TIME這樣首字母爲大寫的屬性時,使用
JSON.toJavaObject(json, clazz)將json轉換爲java對象後,大寫字母開頭的屬性會無法取到值,打斷點進入該方法源碼後,發現首字母大寫的屬性會被轉化爲首字母小寫。這裏寫圖片描述

而在將該屬性設置爲public 後,首字母不會被轉換爲小寫。這裏寫圖片描述

然後具體是在哪裏對屬性首字母做的處理沒有找到。。

因此得到第一個解決辦法就是將屬性改爲public,可以正常將json轉換爲javabean。但是由此會導致潛在的安全問題,而且不夠優雅(手動滑稽)

經查閱fastjson的api後,發現了另一個解決辦法,可通過JSON.parseObject(JSON.toJSONString(text), clazz) 方式轉換成java對象,多次實驗該方法不會將大寫的首字母轉成小寫,並能正常轉換。

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