You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JMeter教程:如何从Base64解码后的JSON中提取lt字段值

从Base64解码后的JSON中提取指定字段值

我已通过BeanShell后置处理器完成Base64解码,代码如下:

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字段的值?


方法一:在BeanShell后置处理器中直接解析JSON

在现有解码代码后添加JSON解析逻辑,借助JMeter内置的org.json.JSONObject工具提取字段:

import org.apache.commons.codec.binary.Base64;
import org.json.JSONObject;

// 解码Base64数据
String decodedStr = new String(Base64.decodeBase64("eyJsdCI6ICJUa246ODY3MzYxYTgtY2FlZi00YzkxLTgwNjQtYTczMWUyNTg4N2VkIn0="));
vars.put("decoded_response", decodedStr);

// 解析JSON并提取lt字段
JSONObject jsonObj = new JSONObject(decodedStr);
String ltValue = jsonObj.getString("lt");
vars.put("lt_value", ltValue); // 将提取的值存入JMeter变量,后续可通过${lt_value}引用

方法二:使用JMeter JSON提取器组件

无需修改BeanShell代码,单独添加JSON提取器即可:

  • 右键当前请求 → 添加 → 后置处理器 → JSON提取器
  • 配置参数:
    • 引用名称:填写存储结果的变量名(如lt_value)
    • JSON Path表达式:输入$.lt(定位lt字段)
    • 匹配数字:填1(取第一个匹配结果)
    • 缺省值:可设置提取失败时的默认值(如null)

该组件会自动读取decoded_response变量中的JSON内容,提取lt字段值并存入指定变量。

内容的提问来源于stack exchange,提问作者Muthu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 03:51:40