路径提取
支持 $ 根节点、 .. 递归、切片和过滤。通配 [*] 可一次取出数组里每个元素的同名字段。
页面提供常用模板,可先选模板再改成自己的路径。
也可通过 #data={"name":"Ada"} 或 #url=... 灌入数据,读完即从地址栏清除。
JSONPath 用类似 $.store.book[*].title 的路径从文档里抽出节点。只读查询,不会改原文,适合从大响应里拿列表或某个嵌套字段。写接口测试断言、从日志抠某一层数组时,比手写多层取值更短。
支持 $ 根节点、 .. 递归、切片和过滤。通配 [*] 可一次取出数组里每个元素的同名字段。
页面提供常用模板,可先选模板再改成自己的路径。
改一行路径立刻看结果,比写临时脚本快。表达式错误或没有匹配时会明确提示。
从树形页复制路径过来验证,可以减少拼写错误。
抽出的数组可以再拿去转 CSV 或生成类型。确认路径无误后再写进测试代码或 jq 脚本。
本页不修改原文,适合只读排查。
{
"store": {
"book": [
{ "title": "Sayings of the Century", "price": 8.95 },
{ "title": "Slightly Bad", "price": 12.99 }
]
}
}
$.store.book[*].title
["Sayings of the Century", "Slightly Bad"]
思路类似:用路径描述「要哪一部分」,而不是循环手写取值。
常见写法是 $..book[?(@.price<10)] 这类条件。语法以本页引擎为准。
路径和真实结构不一致最常见。用树形页核对键名、数组下标,以及到底是对象还是数组。
不会。只输出匹配到的值列表。
$ 开始写浅路径再逐步加深。 不同库的 JSONPath 细节略有差异。以本页跑通的表达式为准,再对照你们语言里的实现。