我只是想用jmeter提取json响应数据但不能这样做
我得到像{"authorizationToken":"abcdef"}
这样的东西
我想获得authorizationToken
但却无法得到这个。
任何人都可以帮我解决这个问题吗?
答案 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。