我们在做接口自动化时,一般接口响应的都是json数据体,对响应数据进行提取使用或断言,当数据量很大或层级很深时,就会变得很麻烦,于是就可以用到jsonpath模块,解决json路径深取值难的问题。
一、 jsonpath介绍
用来解析多层嵌套的json数据;JsonPath 是一种信息抽取类库,是从JSON文档中抽取指定信息的工具,提供多种语言实现版本,包括:Javascript, Python, PHP 和 Java。
官网文档http://goessner.net/articles/JsonPath
二、安装使用
pip install jsonpath
import jsonpath
jp=jsonpath.jsonpath(response, '$..key_name')
“$”表示最外层的{},“..”表示模糊匹配,输出结果是list,当传入不存在的key_name时,程序会返回false
三、JsonPath与Xpath语法对比
Json结构清晰,可读性高,复杂度低,非常容易匹配,下表中对应了XPath的用法
四、案例
案例1:
import jsonpath
json_data1={
"error_code": 0,
"stu_info": [
{
"id": 1001,
"name": "橙汁",
"sex": "女",
"age": 33,
"addr": "上海市浦东新区城南路500弄105号",
"grade": "天蝎座",
"phone": "18300000000",
"gold": 10896,