Json 是一種輕量級的數據交換格式,也是一種簡單易懂的數據格式。因此,許多編程語言都提供了對 Json 的支持。C# 作為一種主流編程語言,它也提供了 Json 類來方便開發者對 Json 數據進行解析和生成操作。
using System; using System.Web.Script.Serialization; namespace JsonDemo { class Program { static void Main(string[] args) { string jsonStr = "{\"id\":1,\"name\":\"Tom\",\"age\":23}"; JavaScriptSerializer jsonSerializer = new JavaScriptSerializer(); Person person = jsonSerializer.Deserialize(jsonStr); Console.WriteLine("Id=" + person.Id + ", Name=" + person.Name + ", Age=" + person.Age); Console.ReadKey(); } } class Person { public int Id { get; set; } public string Name { get; set; } public int Age { get; set; } } }
在上面的代碼中,我們從一個-json 字符串中反序列化出一個 Person 對象。需要注意的是,在使用 Json 類進行操作之前,我們需要創建一個 JavaScriptSerializer 類的實例,將 Json 字符串傳入 Deserialize 方法中即可獲取到對象。
C# 的 Json 類同樣也支持將一個對象序列化成 Json 字符串。示例如下:
using System; using System.Web.Script.Serialization; namespace JsonDemo { class Program { static void Main(string[] args) { Person person = new Person { Id = 1, Name = "Tom", Age = 23 }; JavaScriptSerializer jsonSerializer = new JavaScriptSerializer(); string jsonStr = jsonSerializer.Serialize(person); Console.WriteLine(jsonStr); Console.ReadKey(); } } class Person { public int Id { get; set; } public string Name { get; set; } public int Age { get; set; } } }
上面的代碼將 person 對象序列化成 Json,輸出結果為:{"Id":1,"Name":"Tom","Age":23}。需要注意的是,在將對象序列化成 Json 字符串時,我們同樣需要創建一個 JavaScriptSerializer 類的實例,并將對象傳入 Serialize 方法中即可。
C# 的 Json 類具有方便快捷的操作特點,其反序列化和序列化方法簡單易用,可使開發人員更加便捷地進行 Json 數據的操作。