使用 JSON.Net / JSONPath 在层次结构中选择一个祖先

本文关键字:祖先 一个 选择 Net JSON JSONPath 层次结构 使用 | 更新日期: 2023-09-27 18:34:54

使用 JSON.Net/JSONPath,除了多次调用 JToken.Parent 之外,有没有办法提升 JSON 对象层次结构?

例如,对于以下 JSON:

{
  "grandparent" : {
    "parent" : {
      "child" : {
        "property" : "value"
      }
    }
  }
}

选择"子"的内容非常简单:

var theChild = theJson.SelectToken("$.grandparent.parent.child");

但是,如果我现在想从"孩子"中选择"祖父母"的内容,我能弄清楚的唯一方法是调用:

var theGrandparent = theChild.Parent.Parent.Parent;

这似乎有点笨拙。有没有其他方法可以做到这一点?

使用 JSON.Net / JSONPath 在层次结构中选择一个祖先

No.JSONPath 中没有用于从子节点中选择父节点的规定。 请参阅 http://goessner.net/articles/JsonPath。 因此,您需要像已经做的那样在JToken上使用 .Parent 属性。

相关文章: