我们有存储在RedisJson中的对象数组。对象的外观如下
[
{
"abcd": null,
"pqrs": "002090618000132",
"xyz":"SomeValue2",
"mnop": 5,
"Properties": {
"property1": "04240424",
"property2": "04240424",
"property3": "04240424"
},
"Alarms": {}
},
{
"abcd": null,
"pqrs": "002090618000132",
"xyz":"SomeValue3",
"mnop": 5,
"Properties": {
"property1": "04240424",
"property2": "04240424",
"property3": "04240424"
},
"Alarms": {}
}
]我需要找出给定数组中的所有元素,其中xyz==SomeValue2.然而,我尝试了很多事情,但对我来说没有用。
我试图过滤上述数据的查询是
json.get SomeKey $[?(xyz==SomeValue2)]
Also tried
json.get SomeKey $.[?(xyz==SomeValue2)]
also
json.get SomeKey $[?(@.xyz==SomeValue2)]每次我都在错误之下
"JSON路径错误:路径错误:\n$?(xyz==SomeValue2)^n“
不知怎么的,我无法找到redis所遵循的确切的树结构。
当我试图不带过滤器地获取数据时,我得到了它。
json.get SomeKey $[0]
json.get SomeKey $[0].xyz
请告诉我我错过了什么。
发布于 2022-10-09 05:01:03
引用整个路径,并引用字符串值。
JSON.GET SomeKey '$[?(@.xyz=="SomeValue2")]'https://stackoverflow.com/questions/73970736
复制相似问题