简介
响应报文分为JSON格式和字符串格式,往往响应报文中有很多个字段和多层嵌套,如何快速的提取字段key和对应的value值呢?有三种提取方式:jsonpath提取、正则表达式、字符串切片。jsonpath是针对JSON格式的数据提取,后两种主要针对字符串形式的数据提取。
jsonpath
JsonPath是一种用于在JSON数据中定位和提取特定数据的表达式语言。它类似于XPath用于XML的定位和提取,可以帮助我们灵活地从复杂的JSON结构中获取所需的数据。
jsonpath的安装
Terminal终端输入命令行:
pip install jsonpath
也可以使用国内镜像源
pip install jsonpath -i 镜像源地址
以下是国内的几个镜像源地址:
豆瓣:https://pypi.doubanio.com/simple/
阿里云:https://mirrors.aliyun.com/pupi/simple/
华中理工:https://pypi.hustunique.com/simple/
山东理工:https://pypi.sdulinux.org/simple/
中科大:https://pypi.mirrors.ustc.edu.cn/simple/
清华:https://pypi.tuna.tsinghua.edu.cn/simple/
jsonpath的特点
- jsonpath可处理的报文数据类型是字典类型
- 通过jsonpath获取的内容,会以list的形式返回,也就相当于结果以一个值或多个值存在,需要通过list[index]/list[start:end]进一步提取想要的内容。
- 基于jsonpath处理的json数据,需要同时同步list的数据
- jsonpath如果表达式输入错误,则会返回False,故jsonpath的处理结果要么是list 要么是False
jsonpath的基本范式
- 基本语法:
表达式 | 注释 |
---|---|
$ | 根节点,也是所有jsonpath表达式的起点 |
· | 当前节点 |
·· | 递归下级节点 |
- 属性操作
表达式 | 注释 |
---|---|
$.property |