如何在ReadyApi属性转移页面统计JSON数组元素数量?
在ReadyAPI的属性转移页面统计JSON数组中符合条件的元素数量
问题原因
你之前使用的$[?(@.category == 'XXX')].length()表达式,实际是对每个符合条件的对象调用length()方法(或读取其length属性),所以返回了每个对象的length值组成的数组(比如示例中的[[3, 3]]),而非符合条件的元素总数。
解决方法
在属性转移页面,使用以下任意一种JSON Path表达式即可获取正确的元素数量:
方式1:使用
count()函数
直接统计符合条件的元素个数,表达式为:count($[?(@.category == 'XXX')])方式2:先获取目标数组再调用
size()方法
先筛选出符合条件的元素数组,再获取数组长度,表达式为:$[?(@.category == 'XXX')].size()
将上述任一表达式作为来源值,赋值给目标属性后,就能得到你需要的结果(示例中的2)。
内容的提问来源于stack exchange,提问作者Helen Reeves
相关产品推荐
相关产品推荐

