1.安装库
pip install jsonpath==0.82
2.jsonpath基本使用
2.1 导入库
import jsonpath
reponse=requests.get(url,headers=headers,params=params).json()
id=jsonpath.jsonpath(reponse, '$..id')
3.语法
- 从python对象中按指定的jsonpath规则查找节点,找不到返回False;找到则返回列表。
xpath | jsonpath | 描述 |
---|
/ | $ | 根节点 |
. | @ | 现行节点 |
/ | .or[] | 取子节点 |
… | 不支持 | 取父节点,JSONPath未支持 |
// | … | 就是不管位置,选择所有符合条件的节点 |
* | * | 匹配所有元素节点 |
@ | 不支持 | 根据属性访问,JSON不支持,因为JSON是个key-value递归结构,不需要属性访问 |
[] | [] | 迭代器标示(可以在里边做简单的迭代操作,如数组下标,根据内容选值等) |
| | [,] | 支持迭代器中做多选 |
[] | ?() | 支持过滤操作 |
不支持 | () | 支持表达式计算 |
() | 不支持 | 分组,JSONPath不支持 |
4. 元素查找
4.1 查找子结点元素
jsonpath.jsonpath(reponse,'$..products[*].id')