【问题标题】:ERRATA Different behavior for JMESpath on the jmeter extractor勘误表 jmeter 提取器上 JMESpath 的不同行为
【发布时间】:2021-06-24 14:17:54
【问题描述】:

我正在尝试在包含 Null 值的数组上提取最高值; jmeter 不这样做,有人知道为什么吗?

使用:max(result[].data[].values[]) 在https://jmespath.org/tutorial.html 工作正常

错误 o.a.j.e.j.j.JMESPathExtractor:处理 JSON JMESPath 提取器中的 JSON 内容时出错,消息:调用“max”的参数类型无效:预期的数字或字符串数​​组,但数组包含数组

{
    "result": [
        {
            "metricId": "count.server",
            "data": [
                {
                    "dimensions": [
                        "SERVICE_METHOD"
                    ],
                    "dimensionMap": {
                        "dt.entity.service_method": "SERVICE_METHOD"
                    },
                    "values": [
                        null,
                        null,
                        1,
                        null,
                        null,
                        1,
                        null,
                        null,
                        null,
                        null,
                        null,
                        null,
                        1,
                        1,
                        null,
                        null,
                        4,
                        null
                    ]
                }
            ]
        }
    ]
}

【问题讨论】:

    标签: json regex jmeter jmespath


    【解决方案1】:

    我不认为表达“工作正常”,因为它产生如下内容:

    所以你需要:

    1. 摆脱这个嵌套的JSON Array
    2. 摆脱这些null 条目

    JMESPath 查询示例如下:

    result[0].data[0].values[? @ != null] | max (@)
    

    演示:

    更多信息:The JMeter JSON JMESPath Extractor and Assertion: A Guide

    【讨论】:

    • 对不起;正确的查询是:max(result[].data[].values[])
    猜你喜欢
    • 2021-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多