JMeter JSON 提取器的正则表达式

Regex for JMeter JSON Extractor

我正在使用 JMeter 来验证一些 HTTPS 请求,为此,我正在使用一个 JSON 提取器,我想从我得到的 JSON 响应中提取数据。因此,从下面的有效负载中,我想从 service_name 等于“Japan-1-3-12_service”的任何资源中提取 oper_state。

{   
"resource":[
    { 
        "id":"de04c6b1-a5a3-11ec-a02b-765e38f104a5-19",
        "name":"Tokyo-1-1-10",
        "service_name":"Tokyo-1-1-10_service",
        "oper_state":"UP",
        "type":"admin"
    },
    {
        "id":"me05c6b1-a903-11ec-a02b-764313f104a5-19",
        "name":"Japan-1-3-12",
        "service_name":"Japan-1-3-12_service",
        "oper_state":"UP",
        "type":"admin"
    },
    { 
        "id":"5e04c691-a5a3-11ec-a02b-765e38f3q4a5-19",
        "name":"France-1-1-3",
        "service_name":"France-1-1-3_service",
        "oper_state":"DOWN",
        "type":"admin"
    }
    ]}

我正在使用“$.resource[?(@.service_name==Japan-1-3-12_service”)].operational_state”,但没有在变量中得到任何输出。

为什么在 JSON 响应中到处都是 oper_state,却使用 operational_state

只需将您的 JSON Path query 更改为

$.resource[?(@.service_name=="Japan-1-3-12_service")].oper_state

它应该会按预期开始工作

更多信息:JMeter's JSON Path Extractor Plugin - Advanced Usage Scenarios