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 中使用
230KB
4.5K SLoC
rsonpath-syntax
– JSONPath 解析器
完整、快速且完全符合规范的 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