Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jmeter JSON提取器,用于在响应体中获取令牌值_Json_Regex_Jmeter - Fatal编程技术网

Jmeter JSON提取器,用于在响应体中获取令牌值

Jmeter JSON提取器,用于在响应体中获取令牌值,json,regex,jmeter,Json,Regex,Jmeter,全部。这是我收到GET请求后得到的响应: {"id":30, "name":"ABC, Inc.", "clientRiskAssessment":{"clientId":30, "generalScore":70, "federalScore":45, "internationalScore":20,

全部。这是我收到GET请求后得到的响应:

{"id":30,
 "name":"ABC, Inc.",
 "clientRiskAssessment":{"clientId":30,
                         "generalScore":70,
                         "federalScore":45,
                         "internationalScore":20,
                         "updatedDate":"0001-01-01T00:00:00+00:00",
                      "url":"https://example.com/WebPortal/Config/Tax/index.html?IsFrame=true#/app/questionnaire-response/GeneralTaxClientQa/abd8d723-dc4a-e711-811b-00505683008b",
                         "formattedDate":"01/01/0001"}}

我可以通过在JMeter中的JSON提取器-JSON路径表达式中使用$…url来获得“url”的整个值。有谁能给我一个提示,告诉我如何只在url的末尾获得令牌,而不是整个url值?这是我想在url末尾提取的标记:abd8d723-dc4a-e711-811b-0050568300B谢谢。

我认为这是如何提取最稳定的标记:

添加到您的HTTP请求:

  • A
  • A
像这样:

其中JSON提取器如下所示:

正则表达式提取器是:


在我看来,这是获得最稳定提取的方法:

添加到您的HTTP请求:

  • A
  • A
像这样:

其中JSON提取器如下所示:

正则表达式提取器是:


您可以使用以下正则表达式提取器配置来获取此结构:

  • 参考名称:任何有意义的内容,即
    标记
  • 正则表达式:
    ([a-f\d]{8}-[a-f\d]{4}-[a-f\d]{4}-[a-f\d]{4}-([a-f\d]){12})
  • 模板:
    $1$
演示:

参考资料:


您可以使用以下正则表达式提取器配置来获取此结构:

  • 参考名称:任何有意义的内容,即
    标记
  • 正则表达式:
    ([a-f\d]{8}-[a-f\d]{4}-[a-f\d]{4}-[a-f\d]{4}-([a-f\d]){12})
  • 模板:
    $1$
演示:

参考资料:


您可以通过以下配置使用RegexPostProcessor:

正则表达式:url.*\/(.*)”

模板:$1$

第1场


这将始终从url的末尾捕获令牌。

您可以通过以下配置使用RegexPostProcessor:

正则表达式:url.*\/(.*)”

模板:$1$

第1场


这将始终从url的末尾捕获令牌。

也许,您可以使用。请参阅(第3点),您需要
.replaceFirst(“.*/”,“”)
谢谢@WiktorStribiżew replaceFirst方法仅替换第一个字符。在将令牌更改为replaceAllWell后,我能够获取该令牌。您不需要
.replaceAlll
,因为只需要一个匹配项。不管怎样,这两种方法都有效。也许,你可以使用。请参阅(第3点),您需要
.replaceFirst(“.*/”,“”)
谢谢@WiktorStribiżew replaceFirst方法仅替换第一个字符。在将令牌更改为replaceAllWell后,我能够获取该令牌。您不需要
.replaceAlll
,因为只需要一个匹配项。无论如何,这两种方法都会奏效。