我是靠谱客的博主 妩媚宝马,这篇文章主要介绍Groovy中使用JsonPath筛选response,现在分享给大家,希望可以做个参考。

110616_fqYW_942203.png

上图是某一个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中使用双引号,就必须

  1. 以“$”开头,就是在$之前加上一个转义字符;
  2. 需要循环的条件用“[]”括起来,并且条件需要写在“?()”里面;
  3. 条件中的变量是用单引号;
  4. @符号之后有一个点号;

转载于:https://my.oschina.net/u/942203/blog/842671

最后

以上就是妩媚宝马最近收集整理的关于Groovy中使用JsonPath筛选response的全部内容,更多相关Groovy中使用JsonPath筛选response内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(79)

评论列表共有 0 条评论

立即
投稿
返回
顶部