使用JSON Extractor提取ID时无法过滤null值,寻求解决方法
提取非null ID的可行方案
方案1:用JSON Path直接过滤(标准JSON场景)
如果响应是标准JSON结构,在JMeter的JSON Extractor里做如下配置:
- JSON Path Expression:
$..[?(@.id != null)].id - Match No.:设为
-1(提取所有符合条件的ID) - 自定义变量名(比如
valid_ids),后续可通过${valid_ids_1}、${valid_ids_2}调用每个有效ID。
该表达式会递归遍历所有节点,筛选出id字段不为null的条目,直接提取对应的ID值。
方案2:正则表达式提取(非标准JSON场景)
如果响应格式不规范(比如示例里带{ }的非标准结构),改用Regular Expression Extractor:
- Regular Expression:
"id": (\d+)\{ - Template:
$1$ - Match No.:设为
-1
这个正则会匹配所有带数字ID的行,自动跳过"id": null的无效项,提取出纯数字ID。
验证方式
添加Debug Sampler,查看变量取值,确认有效ID已被正确捕获。
内容的提问来源于stack exchange,提问作者yash patel
相关产品推荐
相关产品推荐

