JSONPath 速查
共 23 条 JSONPath 查询语法,涵盖基础选取、数组、过滤与函数、与 jq 对照、使用场景。 支持搜索与分类筛选,点击即可复制。
基础选取
$ 表示根节点。
| 命令 | 说明 |
|---|---|
| 取根下的 store 字段 | |
| 带引号写法(字段含特殊字符时用) | |
| 逐层点取 | |
| 递归下降:任意层级下的 price | |
| 深层字段 |
数组
下标、通配与切片。
| 命令 | 说明 |
|---|---|
| 第一个元素 | |
| 最后一个元素(负索引) | |
| 所有元素 | |
| 切片(前 2 个) | |
| 取所有元素的 title |
过滤与函数
条件筛选与取值函数。
| 命令 | 说明 |
|---|---|
| 过滤:价格小于 10 的书 | |
| 存在 isbn 字段的元素 | |
| 按字段值过滤后取字段 | |
| 长度(部分实现支持) | |
| 聚合(依实现而定) |
与 jq 对照
JSONPath 与 jq 的常见等价。
| 命令 | 说明 |
|---|---|
| jq:.store.book[].author | |
| jq:..|.author? | |
| jq:.book[0] | |
| jq:.book[]|select(.price<10) |
使用场景
常见调用方式。
| 命令 | 说明 |
|---|---|
| JS 使用 jsonpath-plus | |
| Python jsonpath-ng | |
| k8s 中按 JSONPath 取字段 | |
| 在线验证表达式 |
使用说明
JSONPath 速查:基础选取、数组、过滤与函数、与 jq 对照、使用场景;支持搜索与分类筛选,点击即可复制。
- 按用途点分类:基础选取、数组、过滤与函数、与 jq 对照、使用场景。
- 点「命令」列复制到代码或命令行。
- 记住四个核心符号:$(根)、.(子节点)、..(递归)、*(通配)。
- 过滤用 ?(@.field 条件),如 ?(@.price<10)。
常见问题
- JSONPath 和 jq 有什么区别?
- JSONPath 是通用查询语法、跨语言实现;jq 是功能更强的命令行工具与语言,二者常可互译。
- 为什么不同库结果不一样?
- JSONPath 有多套实现,通配、切片、函数支持不完全一致;上线前用你实际使用的库验证表达式。
- 需要联网吗?
- 不需要,本地可用。