C#中的string類型數(shù)據(jù)是非常常見(jiàn)的數(shù)據(jù)類型,而Json是一種常用的數(shù)據(jù)格式。當(dāng)我們需要將C#中的string類型數(shù)據(jù)轉(zhuǎn)換成Json格式時(shí),就需要使用一些代碼技巧來(lái)實(shí)現(xiàn)。
string json = "{\"name\":\"Tom\",\"age\":18}"; // 定義一個(gè)Json字符串 JObject obj = JObject.Parse(json); // 將Json字符串轉(zhuǎn)換成JObject對(duì)象 Console.WriteLine(obj["name"]); // 輸出Json對(duì)象中的屬性值
以上代碼將定義一個(gè)Json字符串,并將其轉(zhuǎn)換成JObject對(duì)象。我們可以通過(guò)JObject的屬性來(lái)獲取Json對(duì)象中對(duì)應(yīng)的值。
string name = obj["name"].ToString(); // 獲取name屬性的值 int age = Convert.ToInt32(obj["age"]); // 獲取age屬性的值
以上代碼演示了如何通過(guò)JObject對(duì)象獲取Json中的屬性值,并且將其轉(zhuǎn)換成C#的基本數(shù)據(jù)類型。
如果我們需要將C#中的類轉(zhuǎn)換成Json格式,可以使用Newtonsoft.Json庫(kù)提供的JsonConvert類來(lái)實(shí)現(xiàn)。
public class Person { public string Name { get; set; } public int Age { get; set; } } Person p = new Person() { Name = "Tom", Age = 18 }; string json = JsonConvert.SerializeObject(p); // 將Person對(duì)象轉(zhuǎn)換成Json字符串 Console.WriteLine(json); // 輸出轉(zhuǎn)換后的Json字符串
以上代碼定義了一個(gè)Person類,并將其對(duì)象通過(guò)JsonConvert類轉(zhuǎn)換成Json字符串。我們可以通過(guò)JsonConvert類提供的方法將Json字符串轉(zhuǎn)換成C#中的類對(duì)象。
Person p2 = JsonConvert.DeserializeObject<Person>(json); // 將Json字符串轉(zhuǎn)換成Person對(duì)象 Console.WriteLine(p2.Name); // 輸出轉(zhuǎn)換后的Person對(duì)象的屬性值
通過(guò)以上代碼,我們可看到如何使用JsonConvert類將Json字符串轉(zhuǎn)換成C#對(duì)象。