Как работать с массивом JSON в http-запросах с помощью каркаса робота - PullRequest
0 голосов
/ 08 мая 2018

Мне нужно отправить запрос PATCH со следующими данными JSON:

${jsonString}  Set Variable  [{"alias":"EMAIL_ORDER_CONFIRMATION","templateId":"${templateId}"}]
${resp}=  Patch Request   httpbin    /templates   data=${jsonString}    headers=${headers}

Но когда я запускаю тест, я получаю сообщение об ошибке: [ОШИБКА] Синтаксический анализ словаря [{"alias": "EMAIL_ORDER_CONFIRMATION", "templateId": "12345678-1111-1111-1111-11111111"}] не выполнен. | FAIL | java.lang.IllegalStateException: ожидалось BEGIN_ARRAY, но было BEGIN_OBJECT в строке 1 пути 3 столбца $ [0]

Как я понял, проблема в том, что мой JSON-файл содержит [], но мне нужно как-то с этим справиться. Я использую HttpRequestLibrary, потому что наш проект основан на Java, и я не могу использовать библиотеки роботов на основе Python.

Единственное решение, которое я нашел, - это использование файлов = $ {files} вместо data = $ {jsonString}:

${data}=  Get Binary File  ${CURDIR}${/}..${/}resources${/}${jsonImportFile}
${files}  Create Dictionary  file   ${data}
${resp}=  Patch Request   httpbin    /templates   files=${files}    headers=${headers}

не помогло, тело пусто при таком подходе, и я получаю ошибку проверки PayLoad.

У кого-нибудь была эта проблема? Если да, пожалуйста, помогите, как бороться с этим типом файла JSON

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