用jmeter发送请求,输入内容已参数化,返回为json串,举例如下(工作中实际返回的远远大于3组): "person": [{ "id":1, "name":"张三"},{ "id":1, "name":"李四" },{ "id":3, "name":"王二" }] 在网上找了一段提取json的代码(代码能力弱,只能先抄抄啦@@),并且把需要导入的包fastjson-1.2.47.jar(这个包没弄清楚到底应该用哪个,搜了一堆试了也没成)放在了jmeter的lib目录下,jmeter的测试计划里也将这个包加入了Library。但是最后运行完还是报一堆错。 - import org.json.*;
- String response_data = prev.getResponseDataAsString();
- JSONObject data_obj = new JSONObject(response_data);
- String persons_str = data_obj.get("person").toString();
- log.info(persons_str);
- JSONArray persons_array = new JSONArray(persons_str);
- String[] result = new String[persons_array.length()];
- for(int i=0;i<persons_array.length();i++){
- JSONObject person_obj = new JSONObject(perons_array.get(i).toString());
- String personName = person_obj.get("name").toString;
- result[i] = personName;
- log.info("--------result-------"+"i"+result[i]);
- }
- log.info("--------result-------"+results);
- //将结果保存到本地csv文件里
- FileWriter fstream = new FileWriter("D:\\pk.csv",true);
- BufferedWriter out = new BufferedWriter(fstream);
- out.write(results);
- out.flush();
- out.newLine();
- out.close();
复制代码报错信息: - ERROR o.a.j.u.BeanShellInterpreter: Error invoking bsh method: eval Sourced file: inline evaluation of: ``import org.json.*; String response_data = prev.getResponseDataAsString(); JSON . . . '' : Typed variable declaration : Method Invocation person_obj.get
- WARN o.a.j.e.BeanShellPostProcessor: Problem in BeanShell script: org.apache.jorphan.util.JMeterException: Error invoking bsh method: eval Sourced file: inline evaluation of: ``import org.json.*; String response_data = prev.getResponseDataAsString(); JSON . . . '' : Typed variable declaration : Method Invocation person_obj.get
复制代码---请问哪位大神能告知一下这里需要用的json处理的包到底应该是哪个,然后这个包能帮忙提供一下吗?我的jemeter 版本是3.3,万分感谢。
|