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

如何从JDBC请求的结果数组中提取JSON值

从JDBC返回的JSON中提取字段并完成存储/验证

方法1:用JSON Extractor(高效便捷)

  • 给JDBC Request添加子元件「JSON Extractor」
    • 在「Names of created variables」栏填写:status,user_id,is_diary_visible,participant_name
    • 对应「JSON Path Expressions」栏依次填:
      • $.Status
      • $.UserId
      • $.IsDiaryVisible
      • $.ParticipantName
    • 「Match No.」设为1(取首个匹配结果)
  • 提取后的变量可直接复用:
    • 存储:可通过「User Defined Variables」统一管理,或用「Save Responses to a File」元件写入本地,也能通过BeanShell/JSR223 PostProcessor写入其他存储介质
    • 验证:添加「Response Assertion」,选择「Response Field to Test」为「JMeter Variable」,输入变量名(如${status}),在「Patterns to Test」中填入预期值(如A)

方法2:用JSR223 PostProcessor(灵活定制)

  • 给JDBC Request添加子元件「JSR223 PostProcessor」,选择Groovy语言
  • 写入以下脚本解析JSON并提取字段:
def json = new groovy.json.JsonSlurper().parseText(prev.getResponseDataAsString())
// 将提取的字段存入JMeter变量
vars.put("status", json.Status)
vars.put("user_id", json.UserId)
vars.put("is_diary_visible", String.valueOf(json.IsDiaryVisible))
vars.put("participant_name", json.ParticipantName)
  • 后续可直接用${status}这类变量做存储或验证

批量验证字段的技巧

  • 若要一次性验证多个字段,可在JSR223 Assertion中写Groovy脚本:
def json = new groovy.json.JsonSlurper().parseText(prev.getResponseDataAsString())
assert json.Status == "A" : "Status不符,预期A,实际为${json.Status}"
assert json.UserId == "HUCQ02D5" : "UserId不符,预期HUCQ02D5,实际为${json.UserId}"
assert json.IsDiaryVisible == true : "IsDiaryVisible状态不符"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 02:57:15