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

如何用JMeter提取无效JSON中_MESSAGE_字段的前五位值?

解决JMeter从无效JSON中提取_MESSAGE_字段前五位的方案

方法1:正则表达式提取器(快速实现)

无需修复JSON格式,直接用正则匹配目标字段的前五位值:

  1. 在目标HTTP请求节点下添加「正则表达式提取器」
  2. 关键配置:
    • 引用名称:message_prefix(自定义变量名,后续可通过${message_prefix}调用)
    • 正则表达式:\\"_MESSAGE_\\":\\"([0-9]{5})
    • 模板:$1$
    • 匹配数字:1
  3. 补充说明:如果字段值前五位可能包含非数字字符,可改用\\"_MESSAGE_\\":\\"([^,]{5}),匹配逗号前的任意前五位字符。

方法2:JSR223提取器(更健壮)

通过Groovy脚本清理无效JSON并解析提取,适配复杂场景:

  1. 在目标HTTP请求节点下添加「JSR223提取器」
  2. 配置:
    • 语言选择:Groovy
    • 脚本内容:
// 获取原始响应内容
def rawResponse = prev.getResponseDataAsString()
// 移除外层引号并消除转义符,转换为合法JSON字符串
def validJson = rawResponse.replace(/^"|"$/, "").replaceAll(/\\/, "")
// 解析JSON并提取_MESSAGE_字段
def jsonData = new groovy.json.JsonSlurper().parseText(validJson)
def fullMessage = jsonData._MESSAGE_
// 截取前五位并存入变量
vars.put("message_prefix", fullMessage.substring(0, 5))
  1. 原理:先修复无效JSON格式,再通过Groovy的JSON解析器安全提取字段,最后截取目标长度,避免正则可能出现的匹配误差。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 09:10:53