fastjson使用注意事項

2021-08-28 01:47:09 字數 1148 閱讀 7878

fastjson git:

注意事項:

1.屬性這麼寫要注意了

public string atest;

public string getatest()

public void setatest(string atest)

這種get,set方法是自動生成的,這樣會導致反序列化不回來,方法這樣就可以getatest setatest

2.註解@jsonfield的使用, ,可以寫在屬性上,也可以寫在方法上

定義序列化的key

@jsonfield(name="id")

使用serialize/deserialize指定欄位不序列化

@jsonfield(serialize=false)

@jsonfield(deserialize=false)

一定要注意,如果在序列化的類裡寫的方法是以get開頭的無參的,比如gettest()方法,即使這個類裡沒有test屬性,fastjson還是會序列化到字串中去,所以這種方法一定要serialize=false

3.反序列化方法的傳參問題

例如:mapmap = new concurrenthashmap();

string text = json.tojsonstring(map);

mapmap1 = json.parseobject(text,new typereference>() {});

反序列化的時候第二個引數一定要這麼寫:

new typereference>() {}

如果寫成下面這樣會導致一些問題,因為會反序列化成一些預設的實現類,而不是你需要的concurrenthashmap

new typereference>() {}

4.有個父類子類的問題,比如

mapmap = new hashmap();

實際上put進去乙個aa,aa是a的子類,這樣反序列化回來的map裡會是a,而不是aa,用下面方式解決

string s = json.tojsonstring(o, serializerfeature.writeclassname);

或者呼叫序列化之前

json.default_generate_feature |=serializerfeature.writeclassname.getmask();

LCD使用注意事項

a.lcd使用注意事項 1.確保是在電源關閉的狀態下拔插線纜 2.對液晶屏進行固定安裝時,注意使整個液晶屏保持平整,避免外力導致液晶屏 彎曲 扭曲 3.一定要小心液晶屏的表面偏光片,避免被堅硬物體劃傷 決不能將堅硬物品置於液晶屏之上 4.如果水滴長時間滯留在液晶模組上,可能導致變色或出現汙斑,所以務...

using使用注意事項

在c 的語法中,using關鍵字有幾個作用 一 匯入乙個命名空間,以便於能使用該命名空間下的相關型別定義,如下的例項 中,將匯入system.text下的相關型別定義 二 為乙個命名空間設定別名,這種情況下並不會匯入對應命名空間下的型別定義,如例項 為system.text定義了別名systext,...

LCD使用注意事項

a.lcd使用注意事項 1.確保是在電源關閉的狀態下拔插線纜 2.對液晶屏進行固定安裝時,注意使整個液晶屏保持平整,避免外力導致液晶屏 彎曲 扭曲 3.一定要小心液晶屏的表面偏光片,避免被堅硬物體劃傷 決不能將堅硬物品置於液晶屏之上 4.如果水滴長時間滯留在液晶模組上,可能導致變色或出現汙斑,所以務...