JSONPATH过滤器可以';不匹配值

JSONPATH过滤器可以';不匹配值,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", &

嗨,我正在尝试根据值筛选一些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",
      "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 ]