Извлечение значений из строки JSON с помощью Regex - PullRequest
0 голосов
/ 04 октября 2019

Я получаю ответ ниже от одного веб-запроса HTTP. и я хочу сохранить значения ConnectionToken, ConnectionId в отдельных переменных, используя один постпроцессор Regular Expression Extractor в jmeter.

Есть ли способ или альтернатива для этого?

{"Url":"/Administration/signalr","ConnectionToken":"/75qb328dXVeojvZYoX34bkWCnji55Zp5+eGEMbas4q0+qdcLNwTRMGHjZVwXgKIgixUc0sxhF659A6ttgg3xPkGOXQquii1sOscozYeEaBpcMmVFPQkeKnxwTf2Yjp007gbag==","ConnectionId":"1dc235ed-6f1f-41eb-bdfd-d0b8625aead6","KeepAliveTimeout":4.0,"DisconnectTimeout":6.0,"ConnectionTimeout":110.0,"TryWebSockets":true,"ProtocolVersion":"1.5","TransportConnectTimeout":5.0,"LongPollDelay":0.0}

Ответы [ 2 ]

0 голосов
/ 04 октября 2019

Вы можете добиться этого, используя 2 JSON Extractor Post Processor. Добавьте оба JSON Extractor PostProcessor как дочерний элемент вашего HTTP-запроса.

  1. Чтобы извлечь ConnectionID: используйте следующее выражение

$. ConnectionId

Чтобы извлечь ConnectionToken: используйте следующее выражение

$. ConnectionToken

После этого вы можете получить доступ к ID и токену из переменной ${ID} and ${Token} соответственно

enter image description here enter image description here

0 голосов
/ 04 октября 2019

Я бы не рекомендовал использовать регулярные выражения для извлечения значений из JSON данных, поскольку они хорошо структурированы, поэтому их можно анализировать быстрее и намного более надежно, используя, например, JSON Extractor , которыйпозволяет извлекать "интересные" значения с помощью JsonPath запросов.

В вашем случае соответствующее выражение JsonPath будет таким простым:

$.ConnectionToken

Демо (предполагает "JsonPath Tester""больше из дерева результатов слушатель)

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...