如何动态获取json值?

How to get a json value dynamically?

在 Jmeter 中,对于下面的消息,我想获取标签 CC2650HumidityData 的值(或标签名称和标签值),但我不知道标签的名称;它包含在一个变量中。 我用过这个 json 路径:

$.message.inputData[*].${tagName}
$.message.inputData[*].vars.get("tagName")

但没有成功。 这是消息示例:

{
    "message": {
        "inputData": [
            {
                "CC2650HumidityData": "51",
                "dateTime": "2020-12-18T08:35:21.342Z"
            },
            {
                "CC2650BarometricPressureData": "21",
                "dateTime": "2020-12-18T08:35:15.136Z"
            }
        ]
    }
}

你能帮帮我吗?

你的第一个选项,即这个选项:$.message.inputData[*].${tagName} 应该可以正常工作

只需确保您的 tagName 变量存在并具有预期值,可以使用 Debug Sampler and View Results Tree listener combination

来完成

另请注意,您将无法像我一样使用 View Results Tree listener for testing JSONPath queries as it doesn't evaluate variables, you will need to run your test to see the variables values (or use this Dummy SamplerJSONPath Tester 模式)