包含具有特定项的JSON数组的对象的JSON路径

包含具有特定项的JSON数组的对象的JSON路径,json,linq,json.net,jsonpath,Json,Linq,Json.net,Jsonpath,我有一个JSON对象,其中包含与足球比赛相关的事件列表,如下所示 我正在使用Newtonsoft的Json.NET框架。在所述JSON对象中,JSON路径(在JSON.NET的JSONPath实现中工作)将是什么,以仅查找具有type.displayName'Yellow'``限定符的事件(即,仅返回第二个事件的JSON路径,因为该路径具有所需限定符) 这是在.NET中,所以如果有一种方法可以使用LINQ来实现这一点,我对此持开放态度 { “事件”:[ { “事件ID”:490, “分钟”:54

我有一个JSON对象,其中包含与足球比赛相关的事件列表,如下所示

我正在使用Newtonsoft的Json.NET框架。在所述JSON对象中,JSON路径(在JSON.NET的JSONPath实现中工作)将是什么,以仅查找具有
type.displayName
'Yellow'``限定符的事件(即,仅返回第二个事件的JSON路径,因为该路径具有所需限定符)

这是在.NET中,所以如果有一种方法可以使用LINQ来实现这一点,我对此持开放态度

{
“事件”:[
{
“事件ID”:490,
“分钟”:54,
“第二”:23,
“期间”:{
“价值”:2,
“displayName”:“SecondHalf”
},
“类型”:{
“价值”:19,
“显示名称”:“替换”
},
“outcomeType”:{
“价值”:1,
“displayName”:“成功”
},
“限定词”:[
{
“类型”:{
“价值”:55,
“displayName”:“RelatedEventId”
},
“值”:“489”
},
{
“类型”:{
“价值”:59,
“displayName”:“JerseyNumber”
},
“值”:“11”
}
],
“满足感”:[
212
],
“isTouch”:错误
},
{
“事件ID”:669,
“分钟”:75,
“第二”:5,
“期间”:{
“价值”:2,
“displayName”:“SecondHalf”
},
“类型”:{
“价值”:17,
“显示名称”:“卡”
},
“outcomeType”:{
“价值”:1,
“displayName”:“成功”
},
“限定词”:[
{
“类型”:{
“价值”:13,
“displayName”:“犯规”
},
“值”:“243”
},
{
“类型”:{
“价值”:31,
“displayName”:“黄色”
}
}
],
“isTouch”:错误
}
]
}

在JSON.Net中,正确的JSON路径应该是

$.events[?(@.qualifiers..type.displayName == 'Yellow')]
具体来说,deepscan操作符
是必需的,因为所讨论的JSON可能包含每个事件的多个限定符