如何在JMeter中提取完整的JSON响应数据?

时间:2015-04-06 23:56:45

标签: json jmeter

我是JMeter的新手并且还处于学习阶段。

我正在JMeter休息。我收到的响应数据,我希望在以下休息呼叫中使用 ,因为它 。我收到的回复数据样本是:

{  
   "token":"ab062ad1-0585-4b41-b491-1bd4f6de57da",
   "refreshToken":"5444b837-7f18-4570-a84b-80dac80b393c",
   "expiresBy":"Sat May 02 14:49:06 EDT 2015",
   "mcomroles":[  
      "Super BA Admin",
      "WorkgroupSuperBAUser"
   ],
   "bcomroles":[  
      "Super BA Admin",
      "WorkgroupSuperBAUser"
   ]
}

为此,我添加了一个正则表达式提取器,但我不知道要提供什么正则表达式。

请建议。感谢。

2 个答案:

答案 0 :(得分:9)

如果要按原样使用响应,请添加beanshell-post处理器而不是Regular Expression Extractor。

vars.put("JSONResponse", prev.getResponseDataAsString());

现在您可以在下一个请求中使用以下语句访问它。

${JSONResponse}

答案 1 :(得分:3)

您可以使用Regular Expression Extractor获取整个响应并将其保存到JMeter变量中。

根据How to Extract Data From Files With JMeter指南,将匹配所有内容的正则表达式视为

(?s)(^.*)

整个提取器配置应如下所示:

Regular Expression whole body

${response}变量将保存父样本器响应数据。