如何使用 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。
我建议你看看以下指南:
我的 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。
我建议你看看以下指南: