我有一个非常深层嵌套的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和Descendants方法搜索嵌套对象。
const string json = @"{
items: [{
video: { id: 1, title: 'Video 1' }
}, {
video: { id: 2, title: 'Video 2' }
}]
}";
var videos = JObject.Parse(json)
.Descendants()
.Where(x => x is JObject && x["id"] != null)
.ToList();
var video = videos.Find(x => (int) x["id"] == 1);
从上面执行代码时,
video
变量包含以下内容:{ "id": 1, "title": "Video 1" }
关于c# - 在Newtonsoft中深度嵌套的JSON中找到深度子元素的更简单方法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55138372/