一尘不染

Jmeter json路径提取器-如何从提取的值中删除[]

jmeter

json

token_id="token_id":"82903430-f9b3-4f4b-9efa-ee1b991cb735"

我正在token_id使用json路径提取器提取$..token_id

然后在下一个发布请求中使用该变量,但在通话中显示了多余的括号

"token_id":["82903430-f9b3-4f4b-9efa-ee1b991cb735"]

阅读 472

收藏
2020-07-24

共1个答案

一尘不染

我相信,这是由引入的变化引起的JMeter其中插件版本1.3.0 JSONPath提取支持返回多个匹配值的引入

您可以使用以下三种方法之一解决此问题:

  1. 您可以将JSONPath表情更改为
    $..token_id[0]
    

因此您不必手动删除方括号和引号

  1. 我相信你有这样的事情:
        getToken=["82903430-f9b3-4f4b-9efa-ee1b991cb735"]
    getToken_1=82903430-f9b3-4f4b-9efa-ee1b991cb735
    getToken_matchNr=1

所以只是使用${getToken_1}应该像魅力一样工作

  1. 您可以使用Beanshell PostProcessor删除方括号和引号。它添加 JSONPath提取,并把下面的代码到"Script"区域:
        String getToken = vars.get("getToken");
    getToken = getToken.replaceAll("\\[\"(.*?)\"\\]", "$1");
    vars.put("getToken",getToken);
2020-07-24