Конвертер JSON в массив PHP

Вставьте JSON-объект или массив и скопируйте код PHP для конфига, тестовых данных или сидера. Объекты становятся ассоциативными массивами, массивы — списками, строки берутся в кавычки и экранируются по правилам PHP.

Синтаксис
Отступ

Работает в браузере: всё, что вы вводите, никуда не отправляется.

Как пользоваться

  1. Вставьте JSON в поле. В примере — объект со вложенным списком и объектом.
  2. Выберите синтаксис (короткий [] или длинный array()), отступ и нужно ли присваивать результат переменной $data.
  3. Скопируйте код PHP. Для неверного JSON показываются строка и столбец первой ошибки.

Как идёт преобразование

JSON PHP
{“key”: value} [‘key’ => value]
[1, 2] [1, 2] — список
“текст” ‘текст’
12, 1.5 12, 1.5
true, false, null true, false, null
{} или [] []

Ключи всегда пишутся строками в кавычках. Каждый элемент — на своей строке с запятой в конце, как печатает массивы var_export().

Пример

JSON {"name":"Анна","tags":["математика","код"],"ok":true,"x":null} превращается в:

$data = [
    'name' => 'Анна',
    'tags' => [
        'математика',
        'код',
    ],
    'ok' => true,
    'x' => null,
];

Советы

  • Пустые объекты превращаются в [] — json_decode с true тоже возвращает пустой массив. Если важно различать {} и [], декодируйте в объекты.
  • Числовые строковые ключи вроде “1” пишутся как ‘1’; PHP сам превратит их в целые ключи при создании массива.
  • Большие целые больше 2⁵³ теряют точность при чтении JSON в JavaScript — храните такие ID в JSON строками.

Частые вопросы

Результат такой же, как у json_decode($json, true)?

Да, структура та же: JSON-объекты становятся ассоциативными массивами, JSON-массивы — индексированными списками, null, true и false остаются как есть. Разница в том, что вы получаете исходный код PHP для вставки, а не значение во время выполнения.

Как экранируются строки?

Строки пишутся в одинарных кавычках, где PHP понимает только два экранирования: \\ и \'. Поэтому обратный слеш становится \\, а апостроф — \'. Знак доллара и остальные символы остаются буквально, без подстановки переменных. Кириллица сохраняется как есть, в UTF-8.

Короткий [] или длинный array()?

Короткий синтаксис работает во всех версиях PHP начиная с 5.4 и сегодня используется по умолчанию. array() нужен только для очень старого кода или если его требует принятый стиль.

Зачем запятые после последних элементов?

Висячие запятые в массивах PHP допустимы и делают диффы чище, когда добавляется строка. var_export() пишет массивы так же.

Что происходит с числами?

Они копируются как числа: 36 остаётся целым, 9.5 — дробным. 1.50 записывается как 1.5, а 1e3 — как 1000, потому что JSON сначала читается как числа. В коде PHP дробная часть всегда отделяется точкой.

Ещё в разделе «Разработчикам»

Все инструменты раздела: Разработчикам ·Обновлено 7 ноября 2026 г.

Настройки конфиденциальности

Google Analytics показывает нам, какими инструментами пользуются и работают ли они. Он может ставить cookie. Ваш выбор сохраняется в этом браузере.