JMeter中如何用JSON JMESPath Extractor提取所有匹配值组成数组
JMeter JSON JMESPath Extractor 提取多值数组配置方案
你使用的records[*].id表达式本身符合提取逻辑,只需调整提取器配置即可拿到所有id组成的数组:
- 「匹配数(Match No.)」设置为
-1:该值代表提取所有匹配结果,你之前设置为1时仅返回第一个匹配项,就是只能拿到单个值的原因 - 若需要直接得到标准数组格式的提取结果,可将表达式修改为
to_json(records[*].id),提取到的内容可直接填入POST请求payload的records字段位置
针对你给出的响应示例:
{"id":12,"records":[{"id":100,"documentId":1, "pageNo":1},{"id":101,"documentId":2, "pageNo":1},{"id":102,"documentId":3, "pageNo":1}]}
使用上述表达式提取的结果为[100,101,102],完全符合你需要的payload格式要求,后续records节点新增元素也会自动提取全部对应id,无需修改配置。
如果需要用拼接方式组装数组,可勾选提取器的「Compute concatenation var (suffix _ALL)」选项,假设你设置的提取变量名为record_id,勾选后会自动生成record_id_ALL变量,内容为所有id用逗号拼接的字符串100,101,102,手动组装为[${record_id_ALL}]即可使用。
内容的提问来源于stack exchange,提问作者Priyesh
相关产品推荐
相关产品推荐

