本文共 2307 字,大约阅读时间需要 7 分钟。
一、LINQ to JSON 常用实例1:
JObject o = JObject.Parse(@"{ 'CPU': 'Intel', 'Drives': [ 'DVD read/writer', '500 gigabyte hard drive' ] }");string cpu = (string)o["CPU"];Console.WriteLine(cpu);//CPUstring firstDrive = (string)o["Drives"][0];Console.WriteLine(firstDrive);// DVD read/writerIListallDrives = o["Drives"].Select(t => (string)t).ToList();foreach (var item in allDrives){ Console.WriteLine(item); // DVD read/writer //500 gigabyte hard drive}
二、Parsing JSON 将json 字符串转换成对象
string json = @"{'CPU': 'Intel','Drives': ['DVD read/writer','500 gigabyte hard drive'],'Mouses':{'one':'小米','two':'戴尔'}}";JObject computer = JObject.Parse(json);Console.WriteLine(computer.First.ToString());//"CPU": "Intel"Console.WriteLine(computer.Last.ToString()); //"Mouses": { "one": "小米","two": "戴尔"}string one = computer["Mouses"]["one"].ToString(); //小米Console.WriteLine(one);//2.转化数组string json2 = @"['张三','李四','王五']";JArray array2 = JArray.Parse(json2);Console.WriteLine(array2.Type);//ArrayConsole.WriteLine(array2[1]); //李四string json3 = @"[{name:'张三'},{name:'李四'}]";JArray array3 = JArray.Parse(json3);Console.WriteLine(array3.Type);//ArrayConsole.WriteLine(array3[1]);//{ "name": "李四" }//3.转化Json 文件using (StreamReader sr = File.OpenText(@"F:\ABCSolution\JsonSolution\JsonSolution\Data\json1.json")){ JObject o = (JObject)JToken.ReadFrom(new JsonTextReader(sr)); Console.WriteLine(o["CPU"]);//Intel //如果没有找到抛出异常 //举例说明,只是获取 o["CPU"] 为空不会抛出异常, //o["CPU"]["one"] 如果o["CPU"] 为空就会抛出异常 string result = (string)o["Mouses"]["one"]; //小米 Console.WriteLine(result);}
三、Creating JSON 将对象属性转换成json 字符串
// 动态生成json字符串//1.创建数组JArray array = new JArray();array.Add(new JValue("张三"));array.Add(new JValue("李四"));string json1 = array.ToString();Console.WriteLine(json1);//[// "张三",// "李四"//]//2.创建对象JObject obj = new JObject();obj.Add("name",new JValue("张三"));obj.Add("age",new JValue("20"));string json2 = obj.ToString();Console.WriteLine(json2);//{//"name": "张三",// "age": "20"//}//3.创建对象方式2,使用匿名对象JObject obj2 = JObject.FromObject(new { name = "李四", Birthday = DateTime.Now });string json3 = obj2.ToString();Console.WriteLine(json3);//{//"name": "李四",// "Birthday": "2016-09-09T14:53:23.0307889+08:00"//}
LINQ to JSON 实例二:
Newtonsoft.Json 简介:
转载地址:http://lyogi.baihongyu.com/