• JToken


    JObject  用于操作JSON对象
    JArray    用语操作JSON数组
    JValue   表示数组中的值
    JProperty 表示对象中的属性,以"key/value"形式
    JToken  用于存放Linq to JSON查询后的结果

    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,并把它转化成相应的类型
    JObject 是 JContainer 的子类,而 JContainer 又是 JToken 的子类。
    JObject < JContainer < JToken 这就好像说“人”是动物的子类,而动物是生物的子类。 显然,使用 Jtoken 的地方,不仅仅要能让 JObject 对象实例使用,还要兼容 JArray 等等其它类型的对象。 此时用 JObject 就太“小气”了,不够准确。

    把JObject理解为C#中的一个类,那么JProperty就是它的属性

    JArray JObject JProperty 之间关系

    那么什么是Linq To JSON

    一.Linq to JSON是用来干什么的?

    Linq to JSON是用来操作JSON对象的.可以用于快速查询,修改和创建JSON对象.
    当JSON对象内容比较复杂,而我们仅仅需要其中的一小部分数据时,
    可以考虑使用Linq to JSON来读取和修改部分的数据而非反序列化全部.

    二.创建JSON数组和对象

    在进行Linq to JSON之前,首先要了解一下用于操作Linq to JSON的类.

    类名 释义
    JObject
    用于操作JSON对象
    JArray
    用于操作JSON数组
    JValue
    表示数组中的值
    JProperty
    表示对象中的属性,以"key/value"形式
    JToken
    用于存放Linq to JSON查询后的结果
    人各有命,上天注定,有人天生为王,有人落草为寇。脚下的路,如果不是你自己的选择,那么旅程的终点在哪,也没人知道。你会走到哪,会遇到谁,都不一定。
  • 相关阅读:
    面试题26:复杂链表的复制
    面试题25:二叉树中和为某一值的路径
    面试题24:二叉搜索树后序遍历
    面试题23:二叉树层序遍历
    面试题22:栈的压入,弹出序列
    面试题21:包含min函数的栈
    面试题20:顺时针打印矩阵
    面试题19:二叉树镜像
    plugin.go 源码阅读
    server.go 源码阅读
  • 原文地址:https://www.cnblogs.com/ZkbFighting/p/14674079.html
Copyright © 2020-2023  润新知