最近在專案中因為考慮到兩個系統之間的解耦,採用了 gson 進行序列和反序列。
但在序列時,總是不成功,沒有報錯,也沒有異常。
在網上搜尋了一番,找到有個類似的帖子,提到用 gson 序列時,丟擲了異常。
其中乙個拋 stackoverflowerror,乙個報錯 reflectivetypeadapte***ctory。
stackoverflowerror 的原因應該是被序列的實體存在了重複引用,導致死迴圈。
reflectivetypeadapte***ctory 的原因沒有做具體分析。
總之,問題出在實體物件中存在實體對映關係,如:@manytomany 註解
最終的解決方案是採用 @expose 註解標明那些屬性可以被序列。
然後:gson g = new gsonbuilder().excludefieldswithoutexposeannotation().create();
string json = g.tojson(entity);
gson解析注意事項
今天在解析json時,遇到解析錯誤的問題。總結來說,字段必須要一致,字段型別要一致,序列化,還要在混淆的情況下要保持相應的類不被混淆。要保持bean 不被混淆,在 proguard rules.pro新增如下 keep class 包名.如下面這個路徑下的userinfo userinfo對應的混淆...
LCD使用注意事項
a.lcd使用注意事項 1.確保是在電源關閉的狀態下拔插線纜 2.對液晶屏進行固定安裝時,注意使整個液晶屏保持平整,避免外力導致液晶屏 彎曲 扭曲 3.一定要小心液晶屏的表面偏光片,避免被堅硬物體劃傷 決不能將堅硬物品置於液晶屏之上 4.如果水滴長時間滯留在液晶模組上,可能導致變色或出現汙斑,所以務...
using使用注意事項
在c 的語法中,using關鍵字有幾個作用 一 匯入乙個命名空間,以便於能使用該命名空間下的相關型別定義,如下的例項 中,將匯入system.text下的相關型別定義 二 為乙個命名空間設定別名,這種情況下並不會匯入對應命名空間下的型別定義,如例項 為system.text定義了別名systext,...