jmeter -如何提取base64格式的特定json值

zzoitvuj  于 2022-11-09  发布在  其他
关注(0)|答案(1)|浏览(177)

我在一个情况下,以提取一个json值从一个base64编码的数据。我已经使用bean shell后处理器解码,我得到了解码的值。

import org.apache.commons.codec.binary.Base64;
vars.put("decoded_response", new String(Base64.decodeBase64("eyJsdCI6ICJUa246ODY3MzYxYTgtY2FlZi00YzkxLTgwNjQtYTczMWUyNTg4N2VkIn0=")));

这是一个

decoded_response={"lt": "Tkn:867361a8-caef-4c91-8064-a731e25887ed"}

从这里我如何提取lt值?
有人能帮他吗?先谢谢了。

z4iuyo4d

z4iuyo4d1#

如果您切换到JSR223后处理器,则可以如下所示提取它:

encoded_response = 'eyJsdCI6ICJUa246ODY3MzYxYTgtY2FlZi00YzkxLTgwNjQtYTczMWUyNTg4N2VkIn0='

decoded_response = new String(encoded_response.decodeBase64())

lt = new groovy.json.JsonSlurper().parseText(decoded_response).lt

log.info('lt value: ' + lt)

重新考虑使用Beanshell,因为它是某种形式的性能反模式,而Groovy:

  • 工作更快
  • 提供现成的Base64编码和解码功能
  • 提供JSON解析和构建现成的函数

更多信息:

相关问题