我正在尝试使用JsonPath在JSON数组中找到一个对象。这是我的JSON:
[
{
"bpm": "766",
"time": "20:14:57",
"confidence": "0"
},
{
"bpm": "766",
"time": "20:14:57",
"confidence": "0"
},
{
"bpm": "767",
"time": "20:14:33",
"confidence": "0"
}
]
我正在将SelectToken
与以下JsonPath查询一起使用,以尝试使用两个键bpm
和time
查找JSON对象。在and
和bpm
之间应该有一个time
运算符。
这是我的查询:
$.[?(@.bpm=='767',@.time=='20:14:33')]
但是我收到一个错误消息,说,
后有一个意外字符'767'
。我在做什么错?
在Newtonsoft的JsonPath实现中,and
运算符是双与号&&
,而不是逗号,
。如下所示更改您的表情,它应该可以正常工作:
var array = JArray.Parse(json);
var obj = array.SelectToken("$.[?(@.bpm=='767' && @.time=='20:14:33')]");