在Jmeter中使用正则表达式或json提取器从json响应中获取动态值

在Jmeter中使用正则表达式或json提取器从json响应中获取动态值,jmeter,Jmeter,从下面的JSON响应中,想要获取类型的值ref_id(现在这里的捕获是类型位置是动态的),如何使用JSON或REGEX提取器使用后处理器来提取它 因此,如果您看到有两个ref\u id,一个在元数据下,另一个在键下。要选择元数据下的 例如,“类型”的:“召回”参考id是cmvjywxslwu1zgy4mtzklte0mtctngjhny1hmtqlzlty1ogjmmmyxytrjmw==和“类型”的后续”是zm9sbg93vxatmzk4mgrhzdoge3mi00ymm0lwfhweetm3

从下面的JSON响应中,想要获取
类型
的值
ref_id
(现在这里的捕获是
类型
位置是动态的),如何使用JSON或REGEX提取器使用后处理器来提取它

因此,如果您看到有两个
ref\u id
,一个在
元数据下,另一个在
键下。要选择元数据下的
例如,“类型”的
:“召回”
参考id
cmvjywxslwu1zgy4mtzklte0mtctngjhny1hmtqlzlty1ogjmmmyxytrjmw==
和“类型”的
后续”
zm9sbg93vxatmzk4mgrhzdoge3mi00ymm0lwfhweetm3ztu3nzllndm0

在json响应中,
“type”:“recall”
“type”:“followUp”
的位置不是恒定的。所以我不能使用任何常量索引值来获取这两个值。尝试使用
“id:”(.*?),“type:”“recall”
“id:”(.*?),“type:”followUp“
。但它正在失败

{
    "entities": {
        "cmVjYWxsLWU1ZGY4MTZkLTE0MTctNGJhNy1hMTQzLTY1OGJmMmYxYTRjMw==": {
            "ref_id": "cmVjYWxsLWU1ZGY4MTZkLTE0MTctNGJhNy1hMTQzLTY1OGJmMmYxYTRjMw==",
            "type": "recall",
            "metaData": {
                "ref_id": "e5df816d-1417-4ba7-a143-658bf2f1a4c3",
                "accountId": "ef757dba-f0d5-4464-a338-4a810e02bf47",
                "patientId": "e74a1b0f-d3e0-4b78-bc4b-83687786466e",
                "timelineDate": "2021-01-30T14:28:24.738Z"
            }
        },
        "Zm9sbG93VXAtMzk4MGRhZDQtOGE3Mi00YmM0LWFhYWEtM2Y3ZTU3NzZlNDM0": {
            "ref_id": "Zm9sbG93VXAtMzk4MGRhZDQtOGE3Mi00YmM0LWFhYWEtM2Y3ZTU3NzZlNDM0",
            "type": "followUp",
            "metaData": {
                "ref_id": "3980dad4-8a72-4bc4-aaaa-3f7e5776e434",
                "patientId": "e74a1b0f-d3e0-4b78-bc4b-83687786466e",
                "createdAt": "2021-01-29T14:36:15.127Z",
                "timelineDate": "2021-01-29T14:36:15.127Z"
            }
        }
    },
    "result": [
        "cmVjYWxsLWU1ZGY4MTZkLTE0MTctNGJhNy1hMTQzLTY1OGJmMmYxYTRjMw==",
        "Zm9sbG93VXAtMzk4MGRhZDQtOGE3Mi00YmM0LWFhYWEtM2Y3ZTU3NzZlNDM0"
    ]
}

如果只需要从响应中获取这些
ref\u id
属性值,则可以使用以下表达式:

entities.*.ref_id
演示:

更多信息:


如果只需要从响应中获取这些
ref\u id
属性值,可以使用以下表达式:

entities.*.ref_id
演示:

更多信息:


您可以试试这个,作为一个JSON提取器

$…[?(@.type==“召回”)].ref\u id


$.[?(@.type==“followUp”)].ref\u id

您可以作为JSON提取器尝试一下吗

$…[?(@.type==“召回”)].ref\u id


$[?(@.type==“followUp”)].ref\u id

Dmitri非常感谢您快速恢复,但我需要单独使用它们,我的JSON响应可能会有所不同,其中的
“type”:“followUp”
可以出现在JSON文件的末尾,因此无法依赖索引值,因此搜索
ref\u id
其中的“type”:“followUp”,类似于thisDmitri的东西非常感谢您快速恢复,但我需要单独使用它们,我的JSON响应可能会有所不同,其中的
“type”:“followUp”
可以出现在JSON文件的末尾,因此无法依赖索引值,因此搜索
ref\u id
其中的“type”:“followUp”,像这样的东西也行这也行