jmeter - Как отформатировать JSON в данных тела (извлеченные из регулярного выражения) - PullRequest
0 голосов
/ 27 сентября 2018

Я пробую сильный текст для извлечения json с обычным извлечением, а затем публикую его в данных тела следующего запроса с форматированным json.Для json, который я извлек, они не отформатированы, и мне просто интересно, есть ли какая-либо функция или способ ее отформатировать?

  • Получить запрос с помощью средства извлечения регулярных выражений (выделено жирным шрифтом)

{ "groupedData": [{ "key": "FirstItem", "count": 1, "groupID": 1, "items": [{ **"keyID": 97215, "film": { "name": xxxx, "id": xxx, "vendorID": 0, "type": "PG", "xxxx": xxx }, "subGroups": null** }], "totalRows": 1 }] }

  • Опубликовать в следующем запросе с извлеченными данными(Данные JSON, извлеченные из вышеуказанного запроса с регулярным выражением, отображаются как целая строка, и мне просто интересно, как я могу отформатировать эти данные тела?)

{ "keyID": 123, "name": "SYSGEN", "period": { "keyID": 427, }, "periodID": 427, "items": [{ **${JSON}** }], "group": 0, "selRow": false, "rowId": 1, "$rowState": { "invalid": false, }, "XXXX": XXXX, }], "ZZZZZZ": "ZZZZZ" }

Ответы [ 2 ]

0 голосов
/ 27 сентября 2018

Если вы хотите получить текст ответа между заданными границами, используйте Boundary Extractor :

Левая граница:

  "items": [{ 

Правая граница:

 }],

Вы также можете проверить его с помощью Просмотреть дерево результатов

Boundary Extractor Tester работает только для текстовых ответов.Он показывает простой текст в верхней панели.Кнопка «Тест» позволяет пользователю применить запрос Boundary Extractor к верхней панели, а результаты будут отображены на нижней панели.

0 голосов
/ 27 сентября 2018

Вы можете отформатировать JSON с помощью функции __ groovy () , т.е.

  1. Если у вас есть Переменная JMeter foo, где извлечены данные JSONхранится и ссылается на него как ${foo} в HTTP-запросе
  2. Замените ссылку на переменную ${foo} следующей функцией:

    ${__groovy(groovy.json.JsonOutput.prettyPrint(vars.get('foo')),)}
    
  3. Вот и все, приведенное выше выражение Groovy отформатирует JSON, который находится в ${foo} Переменной JMeter
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...