C# 中的 JSON 序列化和反序列化功能非常強大,可以方便地將對象轉化為 JSON 字符串,或將 JSON 字符串轉化為對象,其常用的實現方式有 Newtonsoft.Json 庫和 System.Text.Json 庫。
以下我們以 Newtonsoft.Json 庫為例來說明序列化和反序列化的過程。
首先在代碼中引用 Newtonsoft.Json 庫,并定義一個 Person 類作為我們要序列化和反序列化的對象。
using Newtonsoft.Json; public class Person { public string Name { get; set; } public int Age { get; set; } }
我們先來看一下序列化的過程。將一個 Person 對象轉化為 JSON 字符串可以通過 JsonConvert.SerializeObject() 方法實現:
Person person = new Person { Name = "Tom", Age = 18 }; string json = JsonConvert.SerializeObject(person);
此時,json 字符串的內容為:{"Name":"Tom","Age":18}
反序列化則是將 JSON 字符串轉化為 Person 對象。這可以通過 JsonConvert.DeserializeObject() 方法實現:
string json = "{\"Name\":\"Tom\",\"Age\":18}"; Person person = JsonConvert.DeserializeObject(json);
此時,person 對象的屬性值如下:
person.Name = "Tom" person.Age = 18
總的來說,C# 中的 JSON 序列化和反序列化功能非常實用,通過 Newtonsoft.Json 庫實現,我們可以方便地將對象轉化為 JSON 字符串,或將 JSON 字符串轉化為對象。