【发布时间】:2021-02-04 15:21:47
【问题描述】:
从以下 JSON 响应中,想要获取 ref_id 的值 type(现在这里的问题是 type 位置是动态的),如何使用 JSON 或 REGEX 提取器或使用 post 提取它处理器。
所以如果你看到有两个ref_id,一个在metaData 下,一个在key 下。想要选择元数据下的哪个
例如for "type": "recall"ref_id 是cmVjYWxsLWU1ZGY4MTZkLTE0MTctNGJhNy1hMTQzLTY1OGJmMmYxYTRjMw== 和for "type": "followUp" 是Zm9sbG93VXAtMzk4MGRhZDQtOGE3Mi00YmM0LWFhYWEtM2Y3ZTU3NzZlNDM0。
并且 "type": "recall"和"type": "followUp"的位置在json响应中不是固定的。所以我不能使用任何常量索引值来获取这两个值。尝试使用"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"
]
}
【问题讨论】:
标签: jmeter