(译)JToken的层次结构

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(译)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,并把它转化成相应的类型。

以上是关于(译)JToken的层次结构的主要内容,如果未能解决你的问题,请参考以下文章

『译』计算机体系结构发展史

[译]深度学习(Yann LeCun)

『译』计算机体系结构发展史

『译』计算机体系结构发展史

『译』计算机体系结构发展史

[译] 初学者应该了解的数据结构:ArrayHashMap 与 List