Перейти до вмісту

PHP масив у JSON

Перетворіть літерал PHP масиву array() або [ ] у JSON і назад.

Введення
Вихід

PHP масив у JSON

Вставте PHP масив із синтаксисом array(...) або [...] і цей інструмент перетворить його на JSON зі збереженням типів — рядки, числа, логічні значення та null залишаються як є, а не перетворюються на рядки. Інструмент працює і у зворотному напрямку: вставте JSON і отримайте літерал PHP масиву, який можна відразу використовувати в коді, відлагоджуючи dump від var_export(), перенісши конфіг або перетворивши відповідь API на фікстуру для тесту.

Опція Напрямок перемикає режими PHP → JSON та JSON → PHP, а кнопка обміну виводить поточний результат назад на вхід, дозволяючи перевірити, що значення збережається при перетворенні. При створенні PHP коду опція Використовувати скорочений синтаксис масиву вибирає між [...] та більш старою формою array(...); Зберігати числові ключі залишає кожен індекс явним замість згортання простого списку 0..n-1 на неявний; Регістр null / true / false вибирає малі або ВЕЛИКІ константи; а Екранувати апострофи перемикає згенеровані рядки між одинарними лапками (з екранованим '') та подвійними, уникаючи потреби екранування апострофа. Гарне форматування та Розмір відступу керують пробілами з обох боків перетворення, а Сортувати ключі впорядковує ключі об'єктів та асоціативних масивів по абетці на кожному рівні вкладеності.

Парсер розуміє PHP масиви з одинарними та подвійними лапками та їхні правила екранування, цілі числа, дроби, від'ємні числа, вкладені масиви, коментарі # та //, блочні коментарі /* */, та коми в кінці. Послідовний масив із ключами 0, 1, 2… по порядку стає JSON масивом; все інше — рядкові ключі, пропуски або явний ключ, що збиває лічильник — стає JSON об'єктом, як би це обробила сама функція json_encode(). Переводи рядків Windows та Unix обробляються однаково, підсумки під виводом показують кількість елементів, рядків та символів по мірі введення.

Все працює локально у вашому браузері — вставлений масив ніде не завантажується. По завершенні скопіюйте результат, завантажте його як файл .txt або відправте вивід назад на вхід, щоб запустити інструмент у другому напрямку.

FAQ

Працює з вкладеними масивами?
Так. Масиви та асоціативні масиви можуть бути вкладені на будь-яку глибину в обох напрямках, та опції як Сортувати ключі та Зберігати числові ключі застосовуються на кожному рівні.
Як інструмент вирішує, чи стане масив JSON масивом чи об'єктом?
PHP масив з ключами 0, 1, 2… по порядку стає JSON масивом. Все інше — рядкові ключі, пропуски в нумерації або включена опція Зберігати числові ключі — стає JSON об'єктом з ключами як рядками.
Можна генерувати старий синтаксис array() замість [ ]?
Так. Вимкніть опцію Використовувати скорочений синтаксис масиву при перетворенні JSON у PHP, і вивід буде використовувати array(...) замість [...].
Що відбувається при невалідному PHP або JSON?
Інструмент повідомляє рядок та стовпець, де парсинг не вдався, та що там очікувалося, замість того щоб вгадувати результат.
Мій код завантажується куди-небудь?
Ні. Перетворення відбувається повністю у вашому браузері — нічого з того, що ви вставили, не надсилається на сервер.