JToken和JObject有什么区别

summervibeGua 2017-09-06 12:15:33
没有查到具体资料,用的时候这两个好像差不多
...全文
5332 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
JObject 是 JContainer 的子类,而 JContainer 又是 JToken 的子类。这就好像说“人”是动物的子类,而动物是生物的子类。 显然,使用 Jtoken 的地方,不仅仅要能让 JObject 对象实例使用,还要兼容 JArray 等等其它类型的对象。此时用 JObject 就太“小气”了,不够准确。
正怒月神 2017-09-06
  • 打赏
  • 举报
回复
没怎么用过jtoken
看了下官方文档代码
JObject o = JObject.Parse(@"{
2 'Stores': [
3 'Lambton Quay',
4 'Willis Street'
5 ],
6 'Manufacturers': [
7 {
8 'Name': 'Acme Co',
9 'Products': [
10 {
11 'Name': 'Anvil',
12 'Price': 50
13 }
14 ]
15 },
16 {
17 'Name': 'Contoso',
18 'Products': [
19 {
20 'Name': 'Elbow Grease',
21 'Price': 99.95
22 },
23 {
24 'Name': 'Headlight Fluid',
25 'Price': 4
26 }
27 ]
28 }
29 ]
30}");
31
32string name = (string)o.SelectToken("Manufacturers[0].Name");
33// Acme Co
//////////////////////////////////////////////////////////////////////////

// manufacturer with the name 'Acme Co'
33JToken acme = o.SelectToken("$.Manufacturers[?(@.Name == 'Acme Co')]");
34
35Console.WriteLine(acme);
36// { "Name": "Acme Co", Products: [{ "Name": "Anvil", "Price": 50 }] }

感觉jobject转换成了对象,
而jtoken查询出的还是json格式字符串。
xuzuning 2017-09-06
  • 打赏
  • 举报
回复
类名 说明 JObject 用于操作JSON对象 JArray 用语操作JSON数组 JValue 表示数组中的值 JProperty 表示对象中的属性,以"key/value"形式 JToken 用于存放Linq to JSON查询后的结果

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧