[Json.net]Linq to Json
2014-04-18 20:38
507 查看
引言
上篇学习了json.net的基本知识,这篇学习linq to json。上篇文章:[Json.net]快速入门
Linq to Json
Linq to Json是用来快速操作json对象的,包括:查询,修改和创建操作。创建json数组和对象
一些相关的类:
创建Json对象
引入命名空间:using Newtonsoft.Json.Linq;
JObject person = new JObject(); person.Add(new JProperty("Name", "Wolfy")); person.Add(new JProperty("Age", 25)); person.Add("Leader", new JObject(new JProperty("Name", "老大"), new JProperty("Age", 29), new JProperty("Leader", null))); Console.WriteLine(person.ToString()); Console.Read();
结果:
JObject.JArray数组
测试
JArray arr = new JArray(); arr.Add(new JValue(1)); arr.Add(new JValue(2)); arr.Add(new JValue(3)); Console.WriteLine(arr.ToString());
结果:
Linq to Json
查询string json = "{\"Name\":\"wolfy\",\"Age\":25,\"Colleagues\":[{\"Name\":\"Tom\",\"Age\":24},{\"Name\":\"Jack\",\"Age\":22}]}"; //将json转换为JObject JObject jobj = JObject.Parse(json); //通过属性名或者索引来访问,仅仅是自己的属性没,而不是所有的 JToken ageToken = jobj["Age"]; Console.WriteLine(ageToken.ToString());
结果:
获取该员工的所有同事的所有姓名:
var names = from n in jobj["Colleagues"].Children() select (string)n["Name"]; foreach (var item in names) { Console.WriteLine(item); }
结果:
简化查询
查询所有同事的姓名:
var names = jobj.SelectToken("Colleagues").Select(p => p["Name"]).ToList(); foreach (var item in names) { Console.WriteLine(item); }
结果:
修改
修改json字符串中名字为Wolfy的年龄:
JObject jobj = JObject.Parse(json); jobj["Age"] = 26; Console.WriteLine(jobj.ToString());
结果:
修改同事Tom的年龄:
JToken colleagues = jobj["Colleagues"]; colleagues[0]["Age"] = 50; //修改后再赋给对象 jobj["Colleagues"] = colleagues; Console.WriteLine(jobj.ToString());
结果:
删除
删除wolfy的同事:
//将json转换为JObject JObject jobj = JObject.Parse(json); jobj.Remove("Colleagues"); Console.WriteLine(jobj.ToString());
结果:
总结
Linq to json的学习就到这里,从网上找了一篇文章,自己实践一下,多少还是有收获的。参考
http://www.360doc.com/content/13/0328/22/11741424_274568564.shtml
相关文章推荐
- Json.net/Newtonsoft 3.0 新特性JObject/Linq to Json
- Json.net/Newtonsoft 新特性JObject/Linq to Json
- Json.net/Newtonsoft 3.0 新特性JObject/Linq to Json
- Json.Net系列教程 4.Linq To JSON
- Json.NET使用入门(六)【LINQ to JSON】
- Json.net/Newtonsoft 3.0 新特性JObject/Linq to Json
- Json.Net系列教程 4.Linq To JSON
- Linq to JSON/Json.NET
- Json.Net 学习笔记(二) Linq to Json
- 在net中json序列化与反序列化 面向对象六大原则 (第一篇) 一步一步带你了解linq to Object 10分钟浅谈泛型协变与逆变
- asp.net mvc linq to entity 查询指定列的数据以json字符串格式返回数据
- LINQ to XML .Net 3.5 中的新XML对象
- EF(3)-Linq TO ADO.NET
- asp.net MVC + linq to Entity简单教程(四)linq to Entity查询中其它方法的使用
- ADO.Net Entity Framework Linq To Entities 语法功能汇编
- 如何在ASP.NET项目里面正确使用Linq to Sql
- ADO.NET .net core2.0添加json文件并转化成类注入控制器使用 简单了解 iTextSharp实现HTML to PDF ASP.NET MVC 中 Autofac依赖注入DI 控制反转IOC 了解一下 C# AutoMapper 了解一下
- [C#.Net&Linq]LINQ to Object 学习笔记(资料群组GroupBy、ToLookup、ToDictionary)
- csharp:Learn how to post JSON string to generic Handler using jQuery in ASP.Net
- asp.net使用LINQ to SQL连接数据库及SQL操作语句用法分析