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

如何在JMeter中从含动态键的JSON响应中提取值

提取动态键对应的Token方法

核心思路是忽略动态键名,直接获取active对象下的所有值,再提取目标token。以下是主流编程语言的实现示例:

Python 实现

import json

# 示例JSON字符串
json_content = '''{
  "message": "Too many sessions, log out please, on one of your devices",
  "active": {
    "57": [
      "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6IjY5ODAiLCJlbWFpbCI6IkBAc3ViamVjdCsxQG9zYXQuY29tK29zYXQiLCJmaXJzdE5hbWUiOiIxIiwiaXNzIjoibGVhcm5lciIsImlhdCI6MTcwMjAxOTcyNywiZXhwIjoxNzAyNjI0NTI3LCJwcm92aWRlciI6Ik9zYXQiLCJwaWQiOjV9.kXvAqJGqR9jjDTobzlwQ4k_sLl0aFWvEIeST93elODA",
      "Windows",
      "Chrome"
    ]
  },
  "status": "TOO MANY SESSIONS"
}'''

# 解析JSON为字典
parsed_data = json.loads(json_content)
# 获取active对象的第一个值数组,取第一个元素即为token
token = next(iter(parsed_data['active'].values()))[0]
print(token)

JavaScript 实现

// 示例JSON字符串
const jsonContent = `{
  "message": "Too many sessions, log out please, on one of your devices",
  "active": {
    "57": [
      "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6IjY5ODAiLCJlbWFpbCI6IkBAc3ViamVjdCsxQG9zYXQuY29tK29zYXQiLCJmaXJzdE5hbWUiOiIxIiwiaXNzIjoibGVhcm5lciIsImlhdCI6MTcwMjAxOTcyNywiZXhwIjoxNzAyNjI0NTI3LCJwcm92aWRlciI6Ik9zYXQiLCJwaWQiOjV9.kXvAqJGqR9jjDTobzlwQ4k_sLl0aFWvEIeST93elODA",
      "Windows",
      "Chrome"
    ]
  },
  "status": "TOO MANY SESSIONS"
}`;

// 解析JSON为对象
const parsedData = JSON.parse(jsonContent);
// 获取active对象的所有值数组,取第一个数组的第一个元素即为token
const token = Object.values(parsedData.active)[0][0];
console.log(token);

通用逻辑说明

  1. 将JSON字符串解析为对应语言的可操作对象(字典/对象)
  2. 定位到active字段对应的嵌套对象
  3. 提取该嵌套对象的所有值(无需关注动态键名)
  4. 取第一个值数组的第一个元素,就是目标Token

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 16:25:19