如果你是一位C#開發(fā)者,相信你會經(jīng)常處理JSON串。JSON(JavaScript Object Notation)是一種輕量級的數(shù)據(jù)交換格式,它廣泛應(yīng)用于前端開發(fā)、后端開發(fā)及移動端開發(fā)等領(lǐng)域。
然而,C#是一種強類型語言,它不支持像JS那樣可以直接操作JSON對象。所以,我們需要使用一些工具把JSON字符串轉(zhuǎn)換成C#對象。
using System; using Newtonsoft.Json; public class Person { public string Name { get; set; } public int Age { get; set; } public string[] Pets { get; set; } } string json = @"{ 'Name': 'Tom', 'Age': 30, 'Pets': ['Dog', 'Cat'] }"; Person person = JsonConvert.DeserializeObject(json); Console.WriteLine(person.Name); //Tom Console.WriteLine(person.Age); //30 Console.WriteLine(person.Pets[0]); //Dog Console.WriteLine(person.Pets[1]); //Cat
上面的代碼使用了Json.NET這個非常流行的Json序列化/反序列化庫去把JSON字符串轉(zhuǎn)換成一個Person對象。JsonConvert類提供了序列化和反序列化一個對象的功能。我們通過調(diào)用JsonConvert.DeserializeObject()方法來反序列化JSON字符串,并指定目標對象的類型即可。
如果JSON串中包含了復(fù)雜的嵌套對象、數(shù)組等數(shù)據(jù)類型,我們可以使用C#的嵌套類或者嵌套結(jié)構(gòu)體來表示它們。當然,如果JSON串中的屬性與我們定義的類不完全匹配,我們可以使用JsonProperty特性去做一些自定義映射。
總之,使用C#把JSON串轉(zhuǎn)換成對象不再是一個困難的問題,我們只需要掌握一些Json序列化/反序列化的技巧,就可以輕松處理JSON數(shù)據(jù)。