C#是一種高級(jí)的面向?qū)ο缶幊陶Z(yǔ)言,它在Web應(yīng)用開(kāi)發(fā)中廣泛使用。JSON格式是網(wǎng)絡(luò)中常見(jiàn)的數(shù)據(jù)交換格式,操作JSON格式數(shù)據(jù)在Web開(kāi)發(fā)中也非常普遍。在C#中如何將JSON格式的數(shù)據(jù)轉(zhuǎn)換成List呢?下面我們來(lái)介紹一下。
string jsonStr = "{ \"name\":\"張三\", \"age\":20, \"sex\":\"男\(zhòng)" }"; List<Dictionary<string, object>> list = JsonConvert.DeserializeObject<List<Dictionary<string, object>>>(jsonStr);
上面的代碼中,我們需要引用Newtonsoft.Json這個(gè)第三方庫(kù)。
首先需要一個(gè)JSON格式字符串,這里我們直接定義一個(gè)字符串,實(shí)際應(yīng)用中可以從網(wǎng)絡(luò)接口或者文件中讀取JSON數(shù)據(jù)。
string jsonStr = "{ \"name\":\"張三\", \"age\":20, \"sex\":\"男\(zhòng)" }";
我們定義一個(gè)List,泛型為Dictionary<string, object>,這里的Dictionary也是C#中的一個(gè)數(shù)據(jù)類(lèi)型,表示一個(gè)鍵值對(duì)的集合。
List<Dictionary<string, object>> list;
然后使用JsonConvert.DeserializeObject進(jìn)行反序列化,將JSON格式的數(shù)據(jù)轉(zhuǎn)換成List<Dictionary<string, object>>。
list = JsonConvert.DeserializeObject<List<Dictionary<string, object>>>(jsonStr);
上面的代碼返回的是List類(lèi)型的數(shù)據(jù),每個(gè)元素是一個(gè)Dictionary,表示一個(gè)JSON數(shù)據(jù)項(xiàng),可以通過(guò)以下方式訪(fǎng)問(wèn)它們的鍵值對(duì):
foreach (Dictionary<string, object> dic in list) { Console.WriteLine(dic["name"]); Console.WriteLine(dic["age"]); Console.WriteLine(dic["sex"]); }
使用上述方法,我們可以將JSON格式的數(shù)據(jù)轉(zhuǎn)換成C#中的List并進(jìn)行操作。