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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值