首页 > 技术文章 > JMeter获取JSON内容

xiongjiawei 2017-02-21 09:09 原文

1 source("D:\\apache-jmeter-3.0\\用例\\Test.java");
2 public static void f(){
3     String response_data=prev.getResponseDataAsString();
4     String JsonPath="$.data.groupList[0].dateList";
5     String result=Test.readjson(response_data,JsonPath);//调用方法时语句要在方法体内,不能直接写语句,否则报错。
6     log.info("---------------"+result+"---------------");
7 }
8 f();
View Code
 1 import com.jayway.jsonpath.JsonPath;
 2 import com.jayway.jsonpath.Predicate;
 3 import net.minidev.json.JSONArray;
 4 public class Test {    
 5     public static String readjson(String json, String jsonPath) {        
 6         try
 7         {
 8             Object value = JsonPath.read(json, jsonPath, new Predicate[0]);            
 9             if (value instanceof Integer)
10               {
11                 return value.toString();
12               }else if (value instanceof String)
13               {
14                     return value.toString();
15               }else if (value instanceof Boolean)
16               {
17                     return value.toString();
18               }else if (value instanceof JSONArray)
19               {
20                   JSONArray arr = (JSONArray)value;
21                   if(!arr.isEmpty()){return arr.toJSONString();}                  
22                   return "";
23               }else if (value instanceof LinkedHashMap)
24               {
25                     return value.toString();
26               }else if (value instanceof float)
27               {
28                     return value.toString();
29               }else{
30                   return  value.toString();
31               }
32         }
33         catch(Exception e){
34             return "pathnotfound";
35         }        
36     }    
37 }
Test.java

 

 1 import com.jayway.jsonpath.JsonPath;
 2 import com.jayway.jsonpath.Predicate;
 3 import net.minidev.json.JSONArray;
 4 public class Test {    
 5     public static String readjson(String json, String jsonPath) {        
 6         try
 7         {
 8             Object value = JsonPath.read(json, jsonPath, new Predicate[0]);            
 9             if (value instanceof Integer)
10               {
11                 return value.toString();
12               }else if (value instanceof String)
13               {
14                     return value.toString();
15               }else if (value instanceof Boolean)
16               {
17                     return value.toString();
18               }else if (value instanceof JSONArray)
19               {
20                   JSONArray arr = (JSONArray)value;
21                   if(!arr.isEmpty()){return arr.toJSONString();}                  
22                   return "";
23               }else if (value instanceof LinkedHashMap)
24               {
25                     return value.toString();
26               }else if (value instanceof float)
27               {
28                     return value.toString();
29               }else{
30                   return  value.toString();
31               }
32         }
33         catch(Exception e){
34             return "null"; //此处设为"null“字符串,与实际返回null保持一致
35         }        
36     }    
37 }
Test2.java

 

推荐阅读