zoukankan      html  css  js  c++  java
  • BeanShell PostProcessor 提取json

    BeanShell PostProcessor 可对url请求参数、请求返回的结果进行处理赋值等操作;

    步骤:

    BeanShell PostProcessor 对url 返回的json进行提取:

      json的数据格式为:{"data":{"total":5,"list":[{"enabled":true,"lastLoginTime":00,"name":"超级管理员","id":1,"state":"Normal","username":"admin"},{"enabled":true,"lastLoginTime":1,"name":"普通管理员","id":2,"state":"Normal","username":"adminment"},}

      1、采用import org.json.* 进行处理:

        使用 org.json必须引入的包:下载

        下载的包放到jmeter目录下的lib目录中,记得重启jmeter

          

     1 import org.json.*;  
     2  
     3 String response_data = prev.getResponseDataAsString(); //url返回的数据
     4  
     5 JSONObject data_obj = new JSONObject(response_data); 
     6  
     7 String diaryList_str = data_obj.get("data").get("list").toString(); 
     8  
     9 JSONArray diaryList_array = new JSONArray(diaryList_str); 
    10  
    11  
    12 String resultName ="";
    13  
    14 for(int i=0;i<diaryList_array.length();i++){ 
    15  
    16     JSONObject diaryList_obj = new JSONObject(diaryList_array.get(i).toString()); 
    17     
    18     String recordItems = diaryList_obj.get("name").toString();
    19  
    20     resultName ="resultName"+i;
    21  
    22     vars.put(resultName,recordItems);  
    23  
    24 } 
    25  
    org.json

       2、采用 import com.alibaba.fastjson.*  进行处理:

        使用com.alibaba.fastjson必须引入的包:下载

        下载的包放到jmeter目录下的lib目录中,记得重启jmeter;

     

     1 import com.alibaba.fastjson.JSON;
     2 import com.alibaba.fastjson.JSONArray; 
     3 import com.alibaba.fastjson.JSONObject;
     4  
     5 String response_data  = prev.getResponseDataAsString(); // //获取url返回值
     6 JSONObject data_obj  = JSON.parseObject(response_data); 
     7 String json=data_obj.get("data").toString();
     8 JSONObject jso=JSON.parseObject(json);//json字符串转换成jsonobject对象
     9 JSONArray jsarr=jso.getJSONArray("list");//jsonobject对象取得数组
    10  String str2=""; 
    11  
    12 for(int i=0;i<jsarr.size();i++){ 
    13         JSONObject ao=jsarr.getJSONObject(i);//jsonarray对象通过getjsonobjext(index)方法取得数组里面的jsonobject对象
    14         
    15     String vString=ao.getString("name");//jsonobject对象通过key直接取得String的值
    16     if (vString == null){
    17       vString=ao.getString("username");
    18     }
    19     
    20     str2 = "answer_"+i;
    21     
    22     vars.put(str2,vString);
    23 } 
    com.alibaba.fastjson
    @成为那个自己
  • 相关阅读:
    flutter项目目录介绍
    flutter真机调试出现flutter Launching 'app' on No Devices.
    flutter run出现 Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
    小程序uni-app中uview中select选择器第二次无法选中设置的默认值
    android studio编译flutter项目
    如何解决:Android Studio (version 4.1); Flutter plugin not installed and Dart plugin not installed errors
    CF Round 87
    CF #643(div.2)
    CF #642(div.3)
    CF #638(div.2)
  • 原文地址:https://www.cnblogs.com/xiaochou1024/p/9441398.html
Copyright © 2011-2022 走看看