Мережа/HTTP
Query String ↔ JSON
Розібрати query-рядок URL у JSON-об’єкт або зібрати JSON назад у query-рядок.
Query-рядок URL (частина після ?) — це плаский набір пар ключ-значення, тоді як JSON підтримує вкладені структури й типи даних. Інструмент конвертує в обидва боки, включно з повторюваними ключами й масивами.
Як користуватися
- Query → JSON: вставте query-рядок (з ? чи без) — отримаєте JSON-об’єкт з розкодованими значеннями параметрів.
- JSON → Query: вставте JSON-об’єкт, щоб зібрати з нього query-рядок із коректним URL-кодуванням значень.
- Повторювані ключі (a=1&a=2) автоматично розпізнаються як масив у JSON.
Типові сценарії
- Формування query-параметрів із JSON-об’єкта конфігурації для запиту до API.
- Читання складного query-рядка з десятками параметрів у зручному структурованому вигляді.
- Налагодження, чому параметр не доходить до бекенда, — перевірка кодування та структури після конвертації.
Що варто памʼятати
Усі значення в query-рядку — це завжди текст: "true", "false" чи "42" залишаються рядками в JSON, доки код явно не перетворить їх на відповідний тип.
Вкладені об’єкти й масиви не мають єдиного стандарту запису в query-рядку — різні бекенд-фреймворки (PHP, Rails, Express) використовують дещо різний синтаксис (a[b]=1 проти a.b=1).
Стаття про цей інструмент: Query String проти JSON: чому GET-параметри такі обмежені
Часті запитання
Як цей інструмент обробляє повторювані назви параметрів на кшталт ?tag=a&tag=b?
Повторювані ключі зазвичай збираються в масив (tag: ["a", "b"]), а не перезаписують одне одного, що відповідає тому, як більшість бекенд-фреймворків парсять рядки запиту.
Що відбувається зі спецсимволами під час конвертації?
Символи, закодовані у відсотковому форматі (наприклад, %20 для пробілу), декодуються назад до літерального вигляду при конвертації в JSON, і кодуються знову при конвертації JSON назад у рядок запиту.
Чи надсилається мій URL або дані кудись для виконання цієї конвертації?
Ні. Конвертація відбувається повністю у вашому браузері — нічого не надсилається на сервер.
Яка максимальна довжина URL, яку можна безпечно використовувати?
Орієнтовно 2000 символів — це найконсервативніший спільний ліміт серед популярних браузерів і серверів. Для більших обсягів даних варто використовувати POST-запит із тілом замість query string.
Як передати значення true/false чи число через query string?
Query string завжди зберігає лише текст — значення "false" чи "42" залишаються рядками, доки код на сервері чи клієнті явно не розпізнає й не перетворить їх на булеве значення чи число.