普贤教程 › 包参考
jsonpath 包
JSON 路径取值
| 项 | 值 |
|---|---|
| 包名 | jsonpath |
| 版本 | 0.2.0 |
| 可用版本 | 0.1.0 / 0.2.0 |
| 入口 | jsonpath.px |
| 分类 | 数据格式与编解码 |
| 文件数 / 行数 | 1 / 176 |
安装与引入
bash
pxpkg init # 首次 pxpkg add jsonpath@0.2.0 pxpkg install
px
import jsonpath所属分类教程:数据格式与编解码
公开接口
| 函数 | 参数 |
|---|---|
jp_get | data, path |
jp_has | data, path |
其余 9 个 def(内部与辅助,可直接调用但不属稳定接口)
| 函数 | 参数 |
|---|---|
jp_tokenize | path |
jp_seg_parts | seg |
jp_parse_int | s |
jp_resolve | data, segs, si |
jp_set | data, path, value |
jp_exists | data, path |
jp_keys | data, path |
jp_count | data, path |
jp_get_index | data, path, index |
包内说明(源码头注释)
text
============================================================ 普贤生态库:registry/jsonpath —— JSON 路径取值 ------------------------------------------------------------ 纯函数库(无 IO、无状态),编译(px build)与解释(px run)双模式一致。 jp_get(data, path) → Ok(值) | Err 按路径取数 jp_has(data, path) → bool 路径是否存在 路径语法(子集): a.b.c 字典键逐级 a[0].c list 下标 a[*] list 全部元素([*] 处收集其后路径的解析结果) 说明: - 找不到键/越界 → Err(不做静默 null;dict 用 .has() 守卫,规避 PX-DEF-007) ============================================================ 内部:路径 → 段列表(如 "a.b[0].c" → ["a","b[0]","c"])