代码之家  ›  专栏  ›  技术社区  ›  rutuja yewalekar

当键未知时,如何在jmeter中从json中提取值?

  •  0
  • rutuja yewalekar  · 技术社区  · 6 年前

    我有一个json响应, { “sadasd123242”:“asdadada122dfsfs”, “Dadsdasklkljk”:“adasdasdasdsadds” } 我想使用JSON提取器从jmeter测试中的响应中提取密钥。我无法做到这一点,因为我不知道响应中的键。我怎么才能拿到钥匙?

    2 回复  |  直到 6 年前
        1
  •  2
  •   Dmitri T    6 年前

    假设您有以下格式的响应:

    {
      "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。日志 文件并创建JMeter变量,如:

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

    保持所需的“关键”值。

    演示:

    JMeter Groovy Extract Keys From JSON

    参考文献:

        2
  •  0
  •   sunny_teo    6 年前

    将第一个值视为键,这是动态的,第二个值是必须获取的。

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

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

    希望这有帮助。