繁体   English   中英

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

[英]Jmeter json path extractor - How to Remove [ ] from extracted value

来自

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

我提取token_id使用路径抽出$..token_id

然后在下一个帖子请求中使用该变量,但它在调用中显示额外的括号

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

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

您可以使用以下3种方法之一来解决它:

  1. 您可以将JSONPath表达式更改为

     $..token_id[0] 

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

  2. 我相信你有类似的东西:

     getToken=["82903430-f9b3-4f4b-9efa-ee1b991cb735"] getToken_1=82903430-f9b3-4f4b-9efa-ee1b991cb735 getToken_matchNr=1 

    因此,使用${getToken_1}应该像魅力一样工作

  3. 您可以使用Beanshell PostProcessor删除括号和引号。 JSONPath Extractor 之后添加它并将以下代码放入"Script"区域:

     String getToken = vars.get("getToken"); getToken = getToken.replaceAll("\\\\[\\"(.*?)\\"\\\\]", "$1"); vars.put("getToken",getToken); 

在JSON中,括号表示字符串,数字,布尔值,对象和数组的数组。

“token_id”被解释为字符串数组。 例:

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

确保将“token_id”更改为字符串。

使用getToken_1由德米特里·T作为建议删除多余的括号,因为 使用数组存储的的响应。

${getToken_1}是从上面的响应中删除[]括号的正确正则表达式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM