C#是一種面向?qū)ο蟮木幊陶Z言,使用它可以開發(fā)各種類型的應(yīng)用程序。在處理數(shù)據(jù)時(shí),JSON格式是一種非常流行的選擇。JSON是一種輕量級(jí)數(shù)據(jù)交換格式,易于理解和讀取。下面是一些常見的C#解析JSON方法。
using Newtonsoft.Json; //定義JSON字符串 string jsonStr = "{ \"name\":\"小明\", \"age\":18 }"; //反序列化為對(duì)象 var obj = JsonConvert.DeserializeObject(jsonStr); Console.WriteLine(obj.name); //輸出:小明 //序列化為JSON字符串 var obj = new { name = "小明", age = 18 }; string jsonStr = JsonConvert.SerializeObject(obj); Console.WriteLine(jsonStr); //輸出:{ "name":"小明", "age":18 }
以上代碼使用了Json.NET庫(kù),它是一個(gè)流行的C#第三方JSON庫(kù),具有很強(qiáng)的解析和序列化功能。
using System.Web.Script.Serialization; //定義JSON字符串 string jsonStr = "{ \"name\":\"小明\", \"age\":18 }"; //反序列化為對(duì)象 var serializer = new JavaScriptSerializer(); var obj = serializer.Deserialize(jsonStr); Console.WriteLine(obj.name); //輸出:小明 //序列化為JSON字符串 var obj = new { name = "小明", age = 18 }; var serializer = new JavaScriptSerializer(); string jsonStr = serializer.Serialize(obj); Console.WriteLine(jsonStr); //輸出:{ "name":"小明", "age":18 }
以上代碼使用了System.Web.Script.Serialization命名空間中的JavaScriptSerializer類,它是.NET自帶的解析JSON的類。
無論使用哪種方法,解析JSON都是相當(dāng)簡(jiǎn)單的。根據(jù)JSON數(shù)據(jù)的格式,可以使用屬性或列表來訪問JSON數(shù)據(jù)。如果需要序列化或反序列化JSON數(shù)據(jù),C#中有許多庫(kù)和工具可以幫助處理。