首页 > 解决方案 > 过滤带有内联变量的 json 不正确

问题描述

我创建了一个脚本来过滤不包括指定用户的列表用户。但是当我尝试时:

    * def userId = response.data[0].id
    * def filter = ''
    * def users = get[0] response.data[?(@.id!="bd04b9f0-c254-4f23-9fed-6a0300692bbb")]
    * print users.id

是正确的

但我想重新使用上一步的值,例如:

    * def userId = response.data[0].id
    * def filter = 'bd04b9f0-c254-4f23-9fed-6a0300692bbb'
    * def users = get[0] response.data[?(@.id!="#(filter)")]
    * print users.id

是不正确的

标签: karate

解决方案


请阅读文档:https ://github.com/intuit/karate#jsonpath-filters

* def users = karate.jsonPath(response, "$.data[?(@.id!='" + filter + "')]")[0]

推荐阅读