JSON序列化與反序列化列舉

2021-07-08 18:38:23 字數 1761 閱讀 3014

一、json序列化與反序列化列舉

1.這個示例使用了乙個jsonconverter定製如何序列化json與反序列化列舉

using system;

using system.collections.generic;

using system.linq;

using system.text;

using gonghuinewtonsoft.json;

using gonghuinewtonsoft.json.converters;

namespace jsondemo

; //沒有序列化

string jsonwithoutconverter = jsonconvert.serializeobject(stringlist);

console.writeline(jsonwithoutconverter);

//序列化列舉列表liststring jsonwidthconverter = jsonconvert.serializeobject(stringlist, new stringenumconverter());

console.writeline(jsonwidthconverter);

//反序列化列舉列表listlistenumlist = jsonconvert.deserializeobject>(jsonwidthconverter, new stringenumconverter());

console.writeline(string.join(", ", enumlist.select(e => e.tostring()).toarray()));}}

}

2.序列化執行的結果

二、 json序列化與反序列化自定義列舉

1.自定義列舉stuff

using system;

namespace jsondemo

}

2.序列化與反序列化列舉列表

using system;

using system.collections.generic;

using system.linq;

using system.text;

using gonghuinewtonsoft.json;

using gonghuinewtonsoft.json.converters;

namespace jsondemo

; //序列化自定義列舉

string json = jsonconvert.serializeobject(oldlist, new stringenumconverter());

console.writeline(json);

//反序列化自定義列舉

listnewlist = jsonconvert.deserializeobject>(json, new stringenumconverter());

console.writeline(string.join(", ", newlist.select(n => n.tostring()).toarray()));}}

}

3.執行結果

json序列化與反序列化

1.什麼是序列化與反序列化?序列化就是將記憶體中的資料結構轉換成一種中間格式儲存到硬碟或者基於到網路傳輸。反序列化就是將硬碟中或者網路中傳來的一種資料格式轉換成記憶體中資料格式。2.為什麼要有序列化和反序列化?1.可以儲存程式的執行狀態。比如遊戲中使用者在某個狀態下線,使用者遊戲的資料需要儲存,這時...

json序列化 反序列化

json序列化 json的dumps方法可以將json格式資料序列為python的相關資料型別,比如str,常用於列印,另外,在序列化時,中文漢字被轉換為unicode編碼,在dumps函式中新增引數ensure ascii false可解決 dumps的indent參考可以調整顯示格式,即縮排,一...

json陣列序列化與反序列化

前台有多組資料以json陣列 引數為modeljson 傳過來需要存入資料庫時 格式如下,每個花括號對應實體類user的相應字段 當以這種形式傳過來時,將其轉為list,再for迴圈進行儲存 listulist jsonutil.tolist modeljson,user.class for use...