C# 在Newtonsoft中的深层嵌套JSON中查找深层子元素的更简单方法?
我有一个嵌套非常深的JSON文件,如下所示:C# 在Newtonsoft中的深层嵌套JSON中查找深层子元素的更简单方法?,c#,json.net,C#,Json.net,我有一个嵌套非常深的JSON文件,如下所示: { // many levels of nesting, from 10 to 50 items: [{ video: { // some data } }, { video: { // some data } }] } 我知道我可以使用json.SelectTokens(“long path here”)来选择那些video元素。但是,当您想要处理到处都是嵌套的JSON文件时,它既不高效,也不利
{
// many levels of nesting, from 10 to 50
items: [{
video: { // some data }
}, {
video: { // some data }
}]
}
我知道我可以使用json.SelectTokens(“long path here”)
来选择那些video
元素。但是,当您想要处理到处都是嵌套的JSON文件时,它既不高效,也不利于开发人员
我们有没有像CSS选择器这样的更简单的替代路径?您可以使用LINQ和该方法搜索嵌套对象 从上面执行代码时,
video
变量包含以下内容:
{“id”:1,“title”:“Video 1”}
在我看来,一种更简单的方法是使用SelectToken/SelectTokens,它使用JSONPath深入查看对象
var video = o.SelectToken("$.items[?(@.id == 1)]");
有关更多信息,请阅读以下内容:
您可以将json反序列化为动态类型并使用反射。
var video = o.SelectToken("$.items[?(@.id == 1)]");