如何测试 JSON 路径表达式并提取匹配值
输入有效 JSON 文本和路径表达式后执行测试,即可查看路径找到的值及其数量。空输入会成功但没有匹配值,而非空的无效 JSON 可能返回失败结果。
先了解输入和适用场景
JSON Path Tester 用于把 JSON 文本与路径表达式放在一起检查,并提取路径所找到的值。它适合在处理接口响应、配置文件或嵌套数据时,先确认路径是否能定位到目标内容,而不是凭结构猜测结果。输入可以是 JSON 文本,也可以留空;路径同样是文本输入。
按步骤测试路径表达式
- 准备一段 JSON 文本,并将其填入 JSON 输入区域。内容应保持为有效 JSON,例如对象、数组或包含嵌套对象的结构。
- 在路径输入区域填写路径表达式。对象属性可以用点号分隔,例如
profile.name;也可以使用通配符遍历对象值或列表项,并使用方括号指定列表索引或索引范围。 - 执行测试,查看提取结果。对于有效 JSON 和能够正常完成的路径,结果会列出找到的值、找到的值的数量,以及提交的路径。
- 如果没有找到目标值,先确认属性名称、层级和列表索引,再检查路径是否确实对应输入结构。不要把完整 JSONPath 标准中的语法都直接套用到这里,因为已确认的能力只覆盖上述路径形式。
- 若输入或路径为空,或只包含空白字符,工具会成功完成但不返回匹配值。若两者都含有非空白文本,而 JSON 无效,则会得到失败结果;此时应先修正 JSON,再重新测试。
如何解读结果
成功且有匹配时,重点核对返回的值和匹配数量是否符合预期,同时确认结果中的路径就是本次提交的路径。成功但没有匹配值,通常表示 JSON 本身已被接受,只是当前路径没有定位到内容,或输入与路径结构不一致。
失败结果与“成功但无匹配”不是一回事:在输入和路径都含有非空白文本时,无效 JSON 会导致失败。另需谨慎处理方括号索引、范围及其他不合法路径写法,因为部分格式错误可能无法返回通常的结果结构。
使用示例
你需要确认一份嵌套用户数据中的名称属性是否能被路径表达式定位。
将一段包含用户对象和列表的有效 JSON 文本填入输入区域,再提交 user.name 这一路径表达式进行测试。
正常完成时,结果应包含找到的值、找到的值的数量,以及所提交的路径。
使用限制
- 已确认的路径能力只覆盖指定的对象属性、通配符、列表索引和索引范围形式;部分格式错误的方括号或其他无效路径可能无法返回通常的结果结构。
常见错误
- 把空输入、无匹配和无效 JSON 混为一谈。请先确认 JSON 与路径是否都包含非空白文本;若 JSON 有内容但格式无效,修正 JSON 语法后再测试。
常见问题
它会显示匹配到的 JSON 值吗?
条件是 JSON 输入和路径都包含非空白文本且提取正常完成;此时结果会报告找到的值、数量和所提交的路径。路径没有找到内容时,仍可能成功,但匹配数量为零。
输入为空或 JSON 格式错误时会怎样?
如果 JSON 输入或路径为空、或只有空白字符,工具会成功完成但不返回匹配值。如果两者都有非空白文本而 JSON 无效,则会返回失败结果。
可以使用哪些路径写法?
已确认的形式包括点号分隔的对象属性路径、遍历对象值或列表项的通配符,以及用于列表索引和索引范围的方括号表达式。这并不表示支持完整 JSONPath 标准。