JSONPATH过滤器可以';不匹配值
嗨,我正在尝试根据值筛选一些OID。例如:我想返回值小于1000的OIDJSONPATH过滤器可以';不匹配值,json,jsonpath,Json,Jsonpath,嗨,我正在尝试根据值筛选一些OID。例如:我想返回值小于1000的OID [ { "_id": { "$oid": "607f24106f097b42ba7dea5e" }, "SNMP_ONTOLOGIA": { "oid": "1.3.6.1.4.1.6527.6.1.2.2.20.6.3.1.10", &
[
{
"_id": {
"$oid": "607f24106f097b42ba7dea5e"
},
"SNMP_ONTOLOGIA": {
"oid": "1.3.6.1.4.1.6527.6.1.2.2.20.6.3.1.10",
"value": 833
},
"contextData": {
"deviceTemplate": null,
"device": null,
"clientConnection": null,
"clientSession": null,
"user": "administrator",
"timezoneId": "UTC",
"timestamp": "2021-04-20T18:57:20Z",
"timestampMillis": 1618945040731,
"source": "FLOWENGINE"
}
},
{
"_id": {
"$oid": "607f2f576f097b42ba7dea62"
},
"SNMP_ONTOLOGIA": {
"oid": "1.3.6.1.4.1.2011.5.100.1.1.30.12",
"value": 25505
},
"contextData": {
"deviceTemplate": null,
"device": null,
"clientConnection": null,
"clientSession": null,
"user": "administrator",
"timezoneId": "UTC",
"timestamp": "2021-04-20T19:45:27Z",
"timestampMillis": 1618947927982,
"source": "FLOWENGINE"
}
}
]
我尝试过这些语法:
$…SNMP_ONTOLOGIA[?(@.值<1000)]
$…SNMP_ONTOLOGIA[?(@.value<1000)].oid
我不明白为什么书中的例子有效,而上面的例子没有
链接
语法
$…图书[?(@.价格>4]
我真的很感激有人能多给我解释一下它是如何工作的。但我是这样做的:
> jp.query(SNMP, '$..[?(@.value > 10)]');
[
{ oid: '1.3.6.1.4.1.6527.6.1.2.2.20.6.3.1.10', value: 833 },
{ oid: '1.3.6.1.4.1.2011.5.100.1.1.30.12', value: 25505 }
]
>
>
> jp.query(SNMP, '$..[?(@.value < 1000)]');
[ { oid: '1.3.6.1.4.1.6527.6.1.2.2.20.6.3.1.10', value: 833 } ]
> jp.query(SNMP, '$..[?(@.value < 1000)].oid');
[ '1.3.6.1.4.1.6527.6.1.2.2.20.6.3.1.10' ]
jp.query(SNMP, '$..[?(@.oid == \'1.3.6.1.4.1.6527.6.1.2.2.20.6.3.1.10\')].value');
[ 833 ]