使用 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;
这似乎有点笨拙。有没有其他方法可以做到这一点?
No.JSONPath 中没有用于从子节点中选择父节点的规定。 请参阅 http://goessner.net/articles/JsonPath。 因此,您需要像已经做的那样在JToken
上使用 .Parent
属性。