天天看點

C#Json序列化、反序列化之Dictionary 字典類型

本測試使用Newtonsoft.Json的序列化工具

一、示例1,将字典類型序列化成Json字元串

Dictionary<string, int> dic = new Dictionary<string, int>() {
    {"張三",1},
    {"李四",2},
};
string result = JsonConvert.SerializeObject(dic);
Console.WriteLine(result); //{"張三":1,"李四":2}
           

二、示例2,将Json字元串,反序列化成字典類型

result = "{\"張三\":1,\"李四\":2}";
Dictionary<string, int> dic2 = JsonConvert.DeserializeObject<Dictionary<string, int>>(result);
foreach (var item in dic2)
{
    Console.WriteLine($"{item.Key}---->{item.Value}");
}
           

顯示結果如下:

C#Json序列化、反序列化之Dictionary 字典類型

三、使用JavaScript将屬性和值,轉換成對象,并序列化成背景可以反序列化的字元串

var result = new Object();
var inputList = recDialog.find('input[type="text"]');
inputList.each(function () {
    var thisItem = $(this);
    result[thisItem.attr('data-id')] = thisItem.val();
});
$('input[name="DynamicRecLayer"]').val(JSON.stringify(result));
           

關鍵代碼:result[thisItem.attr('data-id')] = thisItem.val();

更多:

Json序列化中null字段說明

LitJSON .Net開源JSON庫、輕量級

C# Newtonsoft.Json之LINQ To Json執行個體(二)

繼續閱讀