如何使用正则表达式提取器在jmeter中提取json响应数据?

时间:2012-02-23 15:43:13

标签: regex json jmeter

我只是想用jmeter提取json响应数据但不能这样做 我得到像{"authorizationToken":"abcdef"}这样的东西 我想获得authorizationToken但却无法得到这个。

任何人都可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:14)

authorizationToken外观在回复时是否唯一(仅出现一次)?

如果是这样,您可以简单地使用Regular Expression Extractor添加到HTTP请求中,该请求返回json响应,正如下面的正则表达式:

HTTP Request
    Regular Expression Extractor
    Reference Name: authToken
    Regular Expression: "authorizationToken":"(.+?)"
    Template: $1$
    Match No.: 1

并将进一步提取的值称为${authToken}


但是如果你的情况更复杂并且在json响应中有几个authorizationToken出现并且你必须提取具体的一个,你可以使用例如BeanShell PostProcessor / BSF PostProcessor添加到同一HTTP请求中,使用beanshell代码+ json processing library提取值。

如果没有 - 上面的第一个解决方案应该有所帮助。


<强>更新

目前处理JSON响应的最舒适方式似乎是jmeter的自定义JSON utils(JSON Path Assertion,JSON Path Extractor,JSON Formatter),它们也是Jmeter Plugins的一部分。

在这种特殊情况下,您可以使用JSON Path Extractor