在JMeter中提取JSON响应

时间:2016-01-26 11:36:36

标签: json jmeter

我正在使用JMeter,我想从JSON响应中提取特定值,并在后续请求中使用此值。我安装了JSON Extractor插件,但我可以深入查看JSON值。

以下是从JMeter捕获的示例JSON响应。

while(1);
{
:   "results":
:   [
:   :   {
:   :   :   "permissions":
:   :   :   [
:   :   :   ],
:   :   :   "exchangeId":"5wFrZHS8Obbw_JJOsaxy7A",
:   :   :   "documentIncomplete":false,
:   :   :   "dateCreated":1453718307090,
:   :   :   "finalized":false,
:   :   :   "voided":false,
:   :   :   "certified":false,
:   :   :   "dateModified":1453718307090,
:   :   :   "metaData":
:   :   :   [
:   :   :   ],
:   :   :   "documentCreated":false,
:   :   :   "orphaned":false,
:   :   :   "dynamicName":false,
:   :   :   "description":"",
:   :   :   "mode":"ADHOC",
:   :   :   "state":"WITHOUT_DOCUMENT",
:   :   :   "name":"01/25/2016 10:38:21",
:   :   :   "priority":"C"
:   :   }
:   ],
:   "responseTime":1453718307090
}

我已经尝试过以下但仍然无法获得exchangeId:

$.permissions[2].exchangeId

$.while..exchangeId

$.permissions.exchangeId

$.results.permissions.exchangeId

$.while.results.permissions.exchangeId

$.while.results[*].permissions.exchangeId

$.while.results[1].permissions[0].exchangeId

我在这里做错了吗?感谢所有的帮助,我尝试搜索,找不到与我的问题有关的任何内容。

1 个答案:

答案 0 :(得分:0)

这不是有效的JSON,而是转到Regular Expression Extractor,相关的配置是:

  • 参考名称:任何有意义的内容,即exchangeId
  • 正则表达式:"exchangeId":"(.+?)"
  • 模板:$1$

您可以根据需要将提取的值作为${exchangeId}进行访问。

演示:

Regular Expression Extractor Demo

参考文献: