snack-jsonpath 同时兼容 `jayway.jsonpath` 和 [IETF JSONPath (RFC 9535) 标准](https://www.rfc-editor.org/rfc/rfc9535.html) （两者不兼容）

* `jayway.jsonpath` 算是事实标准（2011 年首发，大量的项目有用）
* `IETF JSONPath (RFC 9535)` 为协议标准（2024 年通过）

snack-jsonpath 默认采用 `IETF JSONPath (RFC 9535)`  标准策略。`jayway.jsonpath` 则通过选项开启：


```java
Options options = Options.of().addFeatures(Feature.JsonPath_JaywayMode);
ONode.ofJson(json, options).select("$.a[?@.b == 'kilo']");

//或者

ONode.ofJson(json, Feature.JsonPath_JaywayMode).select("$.a[?@.b == 'kilo']");
```

对比列表：


|          | `IETF JSONPath (RFC 9535)`        | `jayway.jsonpath`        |
|----------|-----------------------------------|--------------------------|
|               | 侧重查询                                                   | 带了部分计算 |
| `[?]`        | 过滤 array:子项；object:值项；value:自己       | 过滤 array:后代；object,value:自己 |
| `..`          | 联合为选择器，如：`..name`，`..*`，`..[?]`       | 独立就是个选择器                  |
|               | `$..[?@.b.c == 1]`                                        | 对应 `$..b[?(@.c == 1)]`   |
|  `..[?]`      | 过滤 自己和后代                                         | 过滤 后代   |
| `[?fun()]`  | 过滤函数（查询性质）                                  |  /              |
| `.fun()`     | /                                                              |  聚合函数（有计算性质）   |



