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

时间:2017-10-06 06:35:30

标签: jmeter jmeter-3.2

我的Json回复是:

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

现在我想在" ="之后提取价值。 (例如:" KD6YGS4L8I&#34)。 我使用了正则表达式提取器: - 正则表达式:"返回":"(。+?)" - 模板:$ 1 $ - 比赛号码:-1

输出是:

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

现在我想获得字符串KD6YGS4L8I

2 个答案:

答案 0 :(得分:1)

您可以使用以下正则表达式 <?xml version="1.0" encoding="utf-8"?> <configuration> <appSettings> <add key="COUNTRY_NAME" value="United States of America" /> <add key="CURRENCY_RATE" value="1.00" /> </appSettings> ...... </configuration> ,其中包含模板booking=(.+?)"。匹配数(n)取决于您的需求:

  • n&gt; 0:匹配给定的出现次数
  • n == 0:匹配随机出现,
  • n&lt; 0:匹配所有出现的事件,并使用子变量对它们进行组织。

请参阅JMeter网站上的Regular Expression Extractor

我建议你看一下以下指南:

答案 1 :(得分:0)

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

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

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

现在BookingValue变量包含 - KD6YGS4L8I

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

希望这有帮助! :)