很早之前在使用FashJson進行實體類轉化的時候,如果json參數是多層都是一層對應一個單獨的實體類,
今天在項目中想,使用內部類是不是也可以實現,且使用內部類封裝性更好。當將json串使用fastjson的pareseObject方法
進行解析的時候報錯:
com.alibaba.fastjson.JSONException: create instance error,
在網上搜了下發現內部類無法實例化,導致fastjson反序列化失敗。
解決方法:
閱讀該文:
Java嵌套類與內部類
https://blog.csdn.net/xktxoo/article/details/78175909
由Java嵌套類與內部類一文分析可知,非靜態成員嵌套類的實例化依賴於外部類實例,而靜態嵌套類的實例化不依賴於外部類,將內部類改為靜態嵌套類即可。或將內部類單獨拿出創建類也可以的。