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)里填的值;
?执行请求,在察看结果树里看请求里发送的数据是否准确:如果准确,说明提取成功。
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。 |
标签: #json提取器 #no #for #Random和Default #No填1另外Default