Postman: из json в form-data

Допустим, у нас есть данные в формате JSON:

Как их можно быстро сконвертировать в multipart/form-data?

Для этого нужно выполнить несколько простых действий.

Преобразуем JSON

Преобразуем JSON в формат, который понимает Postman. Для этого создаем файл convert.php, в который вставляем наш JSON.

convert.php
<?php
 
function transform(array $data): string
{
    $ret = http_build_query($data, '', "\n");
 
    $ret = str_replace(['%5B', '%5D', '=', '%3D'], ['[', ']', ':', '='], $ret);
 
    $ret = preg_replace_callback('~^(.*):(.*)$~m', function ($line) {
        return sprintf('%s:%s', $line[1], urldecode($line[2]));
    }, $ret);
 
    return $ret;
}
 
// Вставить JSON в это место
$json = <<<'NOWDOC'
{
    "session_uuid": "{{forms_session_uuid}}",
    "fill_percent": 100
}
NOWDOC;
 
echo transform(json_decode($json, true));

Запускаем скрипт из консоли:

php convert.php

Если возникает такая ошибка:

PHP Fatal error: Uncaught TypeError: transform(): Argument #1 ($data) must be of type array, null given

то нужно проверить валидность JSON, например использована конструкция

"personalDataMobilePhone": {{form_phone}}

- тут надо добавить кавычки.

Переносим в Postman

Копируем в буфер обмена полученный результат.

В Postman переключаемся на формат form-data и нажимаем кнопку Bulk Edit:

Затем вставляем скопированный текст:

И переключаемся назад в режим Key-Value Edit.

Наслаждаемся полученным результатом

Печать/экспорт