4 个版本 (2 个重大更改)

0.3.1 2024年3月28日
0.3.0 2024年2月29日
0.2.0 2024年1月15日
0.1.0 2024年1月10日

#1112解析器实现


2 crate 中使用

MIT 许可证

230KB
4.5K SLoC

rsonpath-syntax – JSONPath 解析器

Rust docs.rs

Crates.io

MSRV License

完整、快速且完全符合规范的 JSONPath 查询解析器。

使用方法

使用 parse 函数将查询解析为其 AST。

let query = rsonpath_syntax::parse("$.jsonpath[*]")?;

对于高级使用,请参阅 crate 文档。

功能标志

有两个可选功能

  • arbitrary,它启用对 arbitrary crate 的依赖,以在查询类型上提供 Arbitrary 实现;这用于例如模糊测试。
  • color,它启用对 owo_colors crate 的依赖,以使用 colored 函数提供彩色 Display 表示形式 ParseError

示例

有两个示例程序,builder 展示了 JsonPathQueryBuilder 结构体的使用;cli 是一个小型 CLI 工具,它接受一个参数,即要解析的查询,并打印出结果查询的调试表示形式或错误消息 - 这在开发 crate 本身时进行调试很有用。

crate 状态

这是一个开发版本,仅支持名称、索引和通配符选择器。然而,这些都得到完全支持、测试和模糊测试。计划路线图是

  • 支持切片
  • 支持过滤器(不带函数)
  • 支持函数(包括类型检查)
  • 完善 API
  • 1.0.0 稳定版本

依赖项

~1.4–2.2MB
~38K SLoC