当密钥未知时,如何从jmeter中的json中提取值?

时间:2018-04-27 04:20:39

标签: json jmeter

我有一个json响应, {   ' sadasd123242' :' asdadada122dfsfs',   ' dadsadaskljk' :' adasdasdasdsadds' } 我想使用JSON提取器从jmeter测试中的响应中提取密钥。我无法做到这一点,因为我不知道响应中的键。我如何获得钥匙?

2 个答案:

答案 0 :(得分:0)

将第一个值视为动态键,然后将第二个值视为必须提取。

您可以使用"边界提取器"在这种情况下,通过定义左右边界来处理处理器,如下图所示。

检查以下测试的边界表达式以获得所需的结果: - enter image description here

希望得到这个帮助。

答案 1 :(得分:0)

假设您有以下格式的回复:

{
  "data": {
    "assets": {
      "sadsad12dwqqwe": "asda1212312",
      "asdasd1213123": "asdas2131231"
    }
  }
}

您可以使用JSR223 PostProcessor和以下代码提取密钥名称:

new groovy.json.JsonSlurper().parse(prev.getResponseData()).data.assets.eachWithIndex{ def node, int idx ->
    log.info('Key ' + idx + '=' + node.getKey())
    vars.put('key_' + idx, node.getKey())
}

它会将键名打印到 jmeter.log 文件中并创建JMeter变量,如:

- `${key_1}`
- `${key_2}`
- etc.

持有所需的“关键”值。

演示:

JMeter Groovy Extract Keys From JSON

参考文献: