Skip to content

JsonPath 列表提取器

穿山甲在99%的情况下都能够准备识别列表,但是在面对1%的不规则数据结构时,需要用户去设置列表选择器。

在列表提取器窗口,通过右侧的JSON数据的预览数据与左侧的实时路径验证,实现“所见即所得”的配置体验。


1. 界面布局说明

rowsjsonpath

  • 左侧:配置与预览区

  • JsonPath 输入框:手动输入或自动生成提取表达式。

  • 语法反馈:预览框会通过颜色(黑/橙/红)反馈匹配状态或语法错误。

  • 右侧:JSON 结构导航 (JSON树)

  • 可视化树结构:将原始 JSON 数据解析为可折叠/展开的节点。

  • 实时预览:根据当前表达式,实时高亮显示匹配到的数据节点。

  • 搜索框:底部的搜索框可快速搜索定位到目标,搜索范围包括名称与值。


2. 核心操作指南

2.1 自动生成路径(推荐)

这是最快捷的配置方式:

  1. 在右侧 JSON树 中展开节点,寻找包含目标数据的数组(通常带有 [] 标识)。
  2. 左键单击目标节点的文本标签。
  3. 程序将自动生成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 路径与数据层级是否匹配,尤其是数组下标 [*] 是否正确包含。