json提取器(JSON Extractor)的使用,提取接口返回值给下个接口使用(关联)

1、json提取器官方解释:

2、接口返回的数据是json格式,在要提取返回数据的接口中按如下步骤添加“json提取器”;

3、在接口返回数据中,要提取【pubKey】的值:

(1)json提取器填写介绍:

注意:如果同时提取多个:则Match No. (0 for Random)和Default Values一定要填;如果匹配的结果只有一个,则Match No.填“1”;另外Default Values可随便填“0”,不填的话会报错,匹配不到数据;

 (2)可以把json返回数据在网上的json格式化工具格式化一下,以帮助查看:


(3)JSON Path expressions匹配规则:

json串 []表示对象组成的数组,{}表示对象(Python中叫字典)。

对象里包含多个 "属性":属性值。属性值可以是值,或数组,或对象。

JSON Extractor使用json path表达式匹配,可以一次取多个变量值。

美元符号“$”表示响应的根对象;

英文句号“.”表示取子对象或对象的属性;(或者:表示取字典里key的value)

英文中括号“[]”表示取数组里的对象用,数组索引从0开始。

实例:取上面json串里的pubKey的值,表达式为:$.datas.pubKey

(4)举一个其他例子:

如果返回结果的有多个嵌套,怎么办?

比如要提取下图中的violationcode的参数1345,要怎么做呢?首先,了解返回的结构,这个是一个字典里嵌套了一个列表,然后列表里再嵌套了一个字典。那么我们的json path expression就应该设置为$.result[0].violationCode。

详解:其实,也没多难。代码中怎么取,就怎么取,学过代码就知道很简单了。

外面是一层字典,先取result,根据key(result)取values

然后是一层列表,我们取第一个,就是0 ;

然后是一层字典,再根据key取values即可,即violationcode取参数1345

(5)同时提取多个值:如下,要同时提取keyId和pubKey;

当json提取器要提取两个值(或两个以上)的时候,一定要填写默认值,不然会报错“Mismatch between number of variables, json expressions and default values”

4、在后面的接口中引用上面提取的值:

美元符号和大括号,大括号里填写json提取器里的“创建变量的名称”(names of created variables)里填的值;

 执行请求,在察看结果树里看请求里发送的数据是否准确:如果准确,说明提取成功。

  • 5
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值