Appearance
JsonPath 列表提取器
穿山甲在99%的情况下都能够准备识别列表,但是在面对1%的不规则数据结构时,需要用户去设置列表选择器。
在列表提取器窗口,通过右侧的JSON数据的预览数据与左侧的实时路径验证,实现“所见即所得”的配置体验。
1. 界面布局说明

左侧:配置与预览区
JsonPath 输入框:手动输入或自动生成提取表达式。
语法反馈:预览框会通过颜色(黑/橙/红)反馈匹配状态或语法错误。
右侧:JSON 结构导航 (JSON树)
可视化树结构:将原始 JSON 数据解析为可折叠/展开的节点。
实时预览:根据当前表达式,实时高亮显示匹配到的数据节点。
搜索框:底部的搜索框可快速搜索定位到目标,搜索范围包括名称与值。
2. 核心操作指南
2.1 自动生成路径(推荐)
这是最快捷的配置方式:
- 在右侧 JSON树 中展开节点,寻找包含目标数据的数组(通常带有
[]标识)。 - 左键单击目标节点的文本标签。
- 程序将自动生成JSON路径,并同步填充至左侧输入框。
2.2 列表提取逻辑
- 目标确认:列表提取器的目标是定位到“行”数据的容器(数组)。
- 验证标准:观察右侧预览窗口。如果预览中出现多个黄色高亮节点,说明已成功定位列表。
2.3 手动微调
如果自动生成的路径范围过大,可以在左侧输入框手动修改:
- 添加过滤条件:例如
$.store.book[?(@.price < 10)]。 - 使用切片:例如
$.items[:5]仅提取前 5 项。
3. 常用右键功能 (JSON树)
在右侧树节点上点击右键,可调出功能菜单:
- 复制 JSONPath:将该节点的完整路径复制到剪贴板。
- Copy:复制该节点的文本内容或值。
4. 语法参考表
| 场景 | 表达式示例 | 预览效果说明 |
|---|---|---|
| 标准列表 | $.data.list[*] | 提取 list 下的所有子对象。 |
| 深层扫描 | $..items[*] | 扫描文档中所有名为 items 的数组。 |
| 根节点数组 | $.[*] | 当 JSON 本身就是一个数组时使用。 |
5. 常见问题排查
- 右侧树显示为空? 检查源数据是否为合法的 JSON 格式。如果格式错误,底部状态栏会显示具体的解析异常信息。
- 预览显示“未匹配”? 请确认生成的 JsonPath 路径与数据层级是否匹配,尤其是数组下标
[*]是否正确包含。