一、JToken和JObject有什么区别
原文出处:JToken和JObject有什么区别 - 八英里 - 博客园
JObject  用于操作JSON对象
JArray    用语操作JSON数组
JValue   表示数组中的值
JProperty 表示对象中的属性,以"key/value"形式
JToken  用于存放Linq to JSON查询后的结果

二、(译)JToken的层次结构

原文地址:https://stackoverflow.com/questions/38558844/jcontainer-jobject-jtoken-and-linq-confusion/38560188#38560188?newreg=577582085c60496db7bdb78be26a2313

JToken的层次结构是这样的:

JToken          -抽象基类
  JContainer     - 能够包含其它JToken的JToken抽象基类
    JArray     - 表示一个JSON数组(包含一个有序的List<JToken>)
    JObeject      - 表示一个JSON对象(包含一个IEnumerable<JProperty>)
    JProperty     - 表示一个JSON属性(在JObject中是一个name/JToken键值对)
  JValue       - 表示一个原生JSON值(string,number,boolean,null)

以下是几条基本的经验法则:

  • 如果是一个对象(在JSON里是有大括号“{”和“}”来标识的),就用JObject。
  • 如果是一个数组或集合(用中括号“[”和“]”标识的),就用JArray。
  • 如果是原生值,就用JValue。
  • 如果你不知道你的json是什么类型的token,或者你希望用一种通用的方式来处理上面任意一种类型的对象,就用JToken,然后你可以检查它的Type属性来决定是哪种类型的token,并把它转化成相应的类型。

三、 C# JTOKEN类的使用,实现解析动态JSON数据、遍历、查找
https://www.freesion.com/article/2598272928/

JToken和JObject有什么区别相关推荐

  1. JObject转换修改key值

    /// <summary> /// JObject转换类 /// </summary> public class ObjectConverter {/// <summar ...

  2. 使用Newtonsoft.Json.dll(JSON.NET)动态解析JSON、.net 的json的序列化与反序列化(一)...

    在开发中,我非常喜欢动态语言和匿名对象带来的方便,JSON.NET具有动态序列化和反序列化任意JSON内容的能力,不必将它映射到具体的强类型对象,它可以处理不确定的类型(集合.字典.动态对象和匿名对象 ...

  3. 【纯技术贴】.NETStandard FreeSql v0.0.9 功能预览

    年关将至,首页技术含量文章真是越来越少,理解大家盼着放假过年,哥们我何尝不是,先给大家拜个早年. 兄弟我从11月底发了神经,开启了 ORM 功能库的开发之旅,历时两个月编码和文档整理,目前预览版本更新 ...

  4. .NETStandard FreeSql v0.0.9 功能预览

    年关将至,首页技术含量文章真是越来越少,理解大家盼着放假过年,哥们我何尝不是,先给大家拜个早年. 兄弟我从11月底发了神经,开启了 ORM 功能库的开发之旅,历时两个月编码和文档整理,目前预览版本更新 ...

  5. FreeSql (三十三)CodeFirst 类型映射

    前面有介绍过几篇 CodeFirst 内容文章,有 <(二)自动迁移实体>(https://www.cnblogs.com/FreeSql/p/11531301.html) <(三) ...

  6. ushort mysql_FreeSql 新的八大骚功能,.NETCore 你必须晓得的 ORM

    前言 FreeSql 目前版本号 0.5.5,预计明年元旦发布 1.0.0,切莫小看了版本号,目前单元测试方法1350+,并且每个方法内的涵盖面又比较广(不信的话见下图),每一次版本发布都作了较多的测 ...

  7. 使用Newtonsoft.Json.dll(JSON.NET)动态解析JSON、.net 的json的序列化与反序列化(一)

    在开发中,我非常喜欢动态语言和匿名对象带来的方便,JSON.NET具有动态序列化和反序列化任意JSON内容的能力,不必将它映射到具体的强类型对象,它可以处理不确定的类型(集合.字典.动态对象和匿名对象 ...

  8. FreeSql 新的八大骚功能,.NETCore 你必须晓得的 ORM

    前言 FreeSql 目前版本号 0.5.5,预计明年元旦发布 1.0.0,切莫小看了版本号,目前单元测试方法1350+,并且每个方法内的涵盖面又比较广(不信的话见下图),每一次版本发布都作了较多的测 ...

  9. JToken,JObject取值

    using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic;na ...

最新文章

  1. iOS 9应用开发教程之ios9中实现按钮的响应
  2. 写时拷贝(Copy On Write)方案详解
  3. OpenCV图像剪切,超出图像区域指定颜色填充
  4. hibernate框架 最新_java框架,使用最频繁的9个程序!
  5. Windows编程之调用Matlab
  6. 奇虎360大战腾讯QQ 高潮迭起用户受伤
  7. 五分钟没有操作自动退出_消防设施操作员 精选练习题10.31
  8. python多继承_Python多继承,__init__
  9. python字符串变量_Python从变量读取的特殊字符切分字符串问题
  10. 【React Native 安卓开发】----(View实战之仿携程)【第三篇】
  11. [笔记分享] [Camera] msm8926的ZSL功能小结
  12. 【论文笔记】Imagenet-trained cnns are Biased towards Texture; Increasing Shape Bias Improves accuracy
  13. 一张图了解致远A6人事管理
  14. STM32CubeMX:中断函数例题:2021-08-03
  15. 图的二种遍历-广度优先遍历和深度优先遍历
  16. php 转义反绡线,PHP汉字转拼音
  17. Wilcoxon 检验之 rank-sum 与 signed-rank
  18. c语言流控制(20180710)
  19. StirngUtil工具类 之 邮箱注册 域名不区分大小写方法
  20. NirCmd v2.37帮助文档中文译本

热门文章

  1. vue 幻灯片组件_带有vue的漂亮幻灯片组件
  2. oracle 9i 启动数据库,Oracle9i数据库的启动和停止
  3. 图像混合模式 正片叠底、滤色、叠加
  4. java permgen space_完美解决PermGen space异常的问题
  5. Python 安装requests库
  6. 大华相机接入web页面实现人脸识别
  7. iOS添加背景图片方法
  8. Windows下MySQL安装教程
  9. Python和Java相比有什么优势?
  10. springboot+html图书借阅管理