当前位置:   article > 正文

Jmeter性能测试学习笔记(四)——beanshell解析json返回数据并填充到下一接口中使用_jmeter beanshell 获取返回的数组

jmeter beanshell 获取返回的数组

使用场景:
无法使用json提取器或者正则表达式取出多个数据时,便使用beanshell脚本来获取返回值并逐层解析。下面是个例子:
待解析数据的格式:
在这里插入图片描述
beanshell处理思路:
先获取到整个返回值,然后获取到JSON对象,获取到JSON对象后采用getString获取指定键值名称的节点值。若整个JSON还有嵌套的JSON,则获取为JSONArray,JSONArray解析到内部节点需要沿用前面的思路。总之,获取到JSONObject层后使用getString。
(如上结构图,第1行和22行大括号是第0层Json,data所包括区域是第1层json,使用JSONObject,exercises节点包括区域是第二层json且是个含有内置节点的,使用JSONArray,array作为数组,访问使用下标,而某个具体下标获取后也是个json即如图例如行8-12大括号部分,但此时该层json不再有内置节点,所以此时也是使用jsonobject)

beanshell处理脚本的具体代码如下:

import com.alibaba.fastjson.*;
prev.setDataEncoding("UTF-8");
String response = prev.getResponseDataAsString(); // 得到接口响应结果response
JSONObject jsonObject = JSONObject.parseObject(response); // 定义json对象
// 取响应结果中的data可以通过getJSONObject来获取
// list 需要通过getJSONArray来取
log.info("下面开始执行解析获取json值");

String  examId = jsonObject.getJSONObject(
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/1014185
推荐阅读
相关标签
  

闽ICP备14008679号