Groovy中使用JsonPath筛选response
2017-02-21 00:00
525 查看
摘要: Using JsonPath to filter response in Groovy Script while doing API testing
上图是某一个TestStep的返回结构,现在需要解析response中i="window_1"的v值。
import com.jayway.jsonpath.JsonPath
def resp = context.expand('${GetGrowthData_DataAPI#Response}')
def baseDri
方式一:循环
JsonPath.read(resp, '$.data.r[0].c[0].e').each{ map->
if(map.i == "window_1"){
baseDri = map.v
}
}
log.info baseDri
方式二:filter(条件式过滤)
def list = JsonPath.read(resp, "\$.data.r[0].c[0].e[?(@.i == 'window_1')]")
baseDri = list[0].v
log.info baseDri
若在JsonPath中使用双引号,就必须
以“\$”开头,就是在$之前加上一个转义字符;
需要循环的条件用“[]”括起来,并且条件需要写在“?()”里面;
条件中的变量是用单引号;
@符号之后有一个点号;
上图是某一个TestStep的返回结构,现在需要解析response中i="window_1"的v值。
import com.jayway.jsonpath.JsonPath
def resp = context.expand('${GetGrowthData_DataAPI#Response}')
def baseDri
方式一:循环
JsonPath.read(resp, '$.data.r[0].c[0].e').each{ map->
if(map.i == "window_1"){
baseDri = map.v
}
}
log.info baseDri
方式二:filter(条件式过滤)
def list = JsonPath.read(resp, "\$.data.r[0].c[0].e[?(@.i == 'window_1')]")
baseDri = list[0].v
log.info baseDri
若在JsonPath中使用双引号,就必须
以“\$”开头,就是在$之前加上一个转义字符;
需要循环的条件用“[]”括起来,并且条件需要写在“?()”里面;
条件中的变量是用单引号;
@符号之后有一个点号;
相关文章推荐
- 使用Groovy处理SoapUI中Json response
- springmvc使用@ResponseBody返回json乱码解决方法
- SpringMVC使用@ResponseBody时返回json的日期格式、@DatetimeFormat使用注意
- fastjson使用(九) -- JSONPath使用
- Server.Transfer,Response.Redirect的区别;使用HttpContext.RewritePath来配合Server.Transfer/Execute
- Spring MVC使用@ResponseBody返回JSON数据406以及乱码问题解决方案
- Drupal中使用form的#autocomplete_path属性完成json格式的ajax文本框自动填充效果
- SpringMVC中使用@RequestBody,@ResponseBody注解实现Java对象和XML/JSON数据自动转换(下)
- SpringMVC使用@ResponseBody时返回json的日期格式、@DatetimeFormat使用注意
- Groovy 解析json和闭包的使用
- 继续说一下openjson 以及 json path 的使用 (2)
- 使用spring @ResponseBody将controller返回值序列化为json格式
- springmvc使用@ResponseBody返回json乱码解决方法
- dom和json使用response 返回
- 使用groovy JsonBuilder输出对象JSON格式
- SpringMVC使用@ResponseBody时返回json的日期格式、@DatetimeFormat使用注意
- 使用Django和Python创建Json response
- 在struts2中使用Ajax的json和request/response两种方式
- SpringMVC中使用@RequestBody,@ResponseBody注解实现Java对象和XML/JSON数据自动转换(下)
- 使用jsonpath解析json内容