Thunder Client按对象属性筛选数组时查询返回undefined问题
问题原因与解决办法
核心问题:查询语法不符合Thunder Client的规则
你使用的数组过滤写法不是Thunder Client支持的语法,导致无法正确定位到目标对象,因此返回undefined。
正确的断言查询语句
针对你的JSON响应结构,验证feature为u7的对象的price等于"4.56",需要使用JSONPath格式的查询:
json.featuresSelected[?(@.feature == 'u7')].price equal "4.56"
关键语法说明:
[?(@.feature == 'u7')]:这是JSONPath的过滤表达式,@代表数组中的当前元素,通过==匹配字符串值(注意字符串要包裹单引号)- 断言值必须用双引号包裹为
"4.56":因为你的JSON中price字段是字符串类型(用双引号定义),类型不匹配会导致验证失败
操作步骤
- 在Thunder Client的断言面板中,选择
Response Body类型 - 输入上述正确的查询语句
- 发送请求后即可正常验证目标字段
内容的提问来源于stack exchange,提问作者surfmuggle
相关产品推荐
相关产品推荐

