c#中實現Json功能!
最近需要使用json來與服務器傳遞信息,所以稍稍了解了一下json。
如果想要在c#中使用json功能,首先我們需要用到Newtonsoft.Json命名空間,可以通過NuGet來安裝我們需要的文件。
可以通過在NuGet控制台中輸入Install-package Newtonsoft.Json添加文件。
然后引用NewTonSoft.Json命名空間。
然后就是如何將我們建立好的對象轉換成json字符串。
我創建了一個student類
class student { public string Name { get; set; } public string classNum { get; set; } public string id { get; set; } }
然后下面將student對象序列化生成json字符串
List<student> students = new List<student>(); students.Add(new student { Name = "zhu", classNum = "1", id = "1" }); students.Add(new student { Name = "yu", classNum = "1", id = "1" }); students.Add(new student { Name = "quan", classNum = "1", id = "1" }); students.Add(new student { Name = "zz", classNum = "1", id = "1" }); students.Add(new student { Name = "Zdd", classNum = "1", id = "1" }); string JsonString = JsonConvert.SerializeObject(students); Console.WriteLine(JsonString); Console.WriteLine();
當我們要生成Json字符串時也可以使用匿名類,不需要單獨建立對象。
當然也可以將Json字符串反序列化成student對象
string inputJsonString = @"[ {Name:'zhu',classNum:'1',id:'1'}, {Name:'yu',classNum:'2',id:'2'}, {Name:'quan',classNum:'1',id:'2'} ]"; JArray jsonObj = JArray.Parse(inputJsonString); List<student> objects = new List<student>(); objects = JsonConvert.DeserializeObject<List<student>>(inputJsonString); foreach(student item in objects) { Console.WriteLine("name:{0},classNum:{1},id:{2}", item.Name, item.classNum, item.id); }
我們需要給DeserializeObject<T>添加List<student>讓函數返回List<student>對象。