如何使用 JMeter 从 Json 响应中提取子字符串数据

How to extract substring data from Json response using JMeter

我的 Json 回复是:

"return":"/info?booking=KD6YGS4L8I"

现在我想提取“=”后的值(例如:"KD6YGS4L8I")。 我使用正则表达式提取器: - 正则表达式:"return":"(.+?)" - 模板:$1$ - 比赛编号:-1

输出为:

"return":"/info?booking=KD6YGS4L8I"

现在我想获取字符串 KD6YGS4L8I

使用以下代码将 Beanshell 采样器作为同级添加到正则表达式提取器中:

//假设你的正则表达式提取器变量是RegExpResult

String regExpResponse= ${RegExpResult};
String[] result= regExpResponse.split("=");
result[1].replaceAll("\"", "");
vars.put("BookingValue",result[1]);

现在 BookingValue 变量包含 - KD6YGS4L8I

您可以在 Whosebug 中找到已解决的相同问题: JMeter - using substring on a user variable

希望对您有所帮助! :)

您可以使用以下正则表达式:booking=(.+?)",模板 $。匹配数 (n) 取决于您的需要:

  • n > 0: 匹配给定的出现次数,
  • n == 0: 匹配随机出现,
  • n < 0: 匹配所有出现,并用子变量组织它们。

请参阅 JMeter 网站上的 Regular Expression Extractor

我建议你看看以下指南: