Перейти к содержанию

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?
Инструмент сообщает строку и столбец, где парсинг упал, и что там ожидалось, вместо того чтобы гадать результат.
Мой код загружается куда-то?
Нет. Преобразование выполняется полностью в вашем браузере — ничто из того, что вы вставили, не отправляется на сервер.