Извлечение полезной нагрузки JSON с помощью Citrus Framework

Я пытаюсь получить некоторую информацию из ответов JSON с помощью Citrus Framework, но я не уверен, как работает метод .extractFromPayload. Например, я делаю запрос GET, и ответ JSON:

["как:s.7635a8e95e1b707d","как:s.c585a8e92874e4a9","как:s.8935a8e9848d14ce","как:s.f885a8ebb1887346","как:s.0123456789abcdef","как:s.7b55a8e96a74893d"," as:s.b3f5a8d9b3971120","as:s.5f05a8e936ed377d","as:s.6f5d3e05670a4b448bf9ba81d1172307","as:s.de07ada3dd724347a26fdd93231491e2","as:s.f705a8e4ebaa"3]

Итак, вопрос в том, как я могу получить один из этих ключей? А если мне нужна только буквенно-цифровая часть, т.е. 7635a8e95e1b707d, то как мне ее распарсить?.

Большое спасибо!


person GHM    schedule 22.02.2018    source источник


Ответы (1)


Полезная нагрузка представляет собой массив строк JSON. Вы можете получить доступ к значению в этом массиве, используя выражение JsonPath и метод extractFromPayload. После извлечения всего значения в качестве тестовой переменной с помощью JsonPath вы можете использовать функцию Citrus, например citrus:substring()или citrus:substringAfter(), во второй операции.

receive(someEndpoint)
    .extractFromPayload("$.[0]", "foo");

echo("citrus:substringAfter(${foo} ,'.')");
person Christoph Deppisch    schedule 23.02.2018