JSON в PHP

Генерация типизированных классов PHP с fromArray() из JSON

Ввод JSON

Параметры

Модель

Вывод PHP

Вставьте JSON или загрузите пример, чтобы сгенерировать код PHP.

Что генерирует JSON to PHP

JSON to PHP превращает ответ API или любой пример JSON в классы PHP. Продвижение в конструкторе создаёт публичные типизированные параметры конструктора (PHP 8.0+); стиль публичных свойств создаёт типизированные свойства и заполняет их в fromArray(). Обязательные параметры идут перед необязательными, необязательные значения по умолчанию равны null, а аннотации PHPDoc list<Type> описывают элементы массивов, которые не могут описать встроенные типы.

Как использовать
  1. 1.Вставьте JSON, загрузите или перетащите файл .json либо загрузите один из примеров.
  2. 2.Задайте имя корневого класса и необязательное пространство имён, например App\Models.
  3. 3.Выберите стиль класса и решите, создавать ли типизированные свойства и PHPDoc.
  4. 4.Прочитайте заметки, затем скопируйте код или скачайте Models.php. Декодируйте через json_decode($json, true) и вызовите Root::fromArray($data).
Как выводятся типы
  • •Проверяется каждый элемент массива, а не только первый, и объекты одного массива объединяются.
  • •Ключ, отсутствующий в части объектов, необязателен; ключ, который иногда равен null, допускает null. Эти случаи различаются.
  • •1 и 2.5 в одной позиции расширяются до дробного числа; о других смешениях выводится заметка.
  • •Пустые массивы и значения, которые всегда равны null, не дают сведений о типе, поэтому используется обобщённый тип, а заметка объясняет причину.
  • •Сопоставление типов: строка → string, целое число → int, дробное число → float, логическое значение → bool, массив → array с PHPDoc list<T>, объект → class, встречен null → ?T, смешанные скаляры → объединение, например string|int, неизвестно → mixed.
Ограничения и конфиденциальность

Пример показывает, как данные выглядели один раз, а не полный контракт API. Проверьте необязательные поля, обобщённые типы и разрядность чисел, прежде чем полагаться на код. Ввод ограничен 5 МБ и 256 уровнями вложенности; начиная с 2 МБ генерация ждёт нажатия кнопки «Сгенерировать». Всё выполняется в браузере, JSON никуда не загружается. Целые числа больше PHP_INT_MAX получают тип mixed, потому что json_decode превращает их в float, если не указан JSON_BIGINT_AS_STRING.

CodingTool официально запущен на

Launched on StartupBaseCodingTool.dev - Free, Fast & Easy Developer Tools in One Place | Product HuntCodingTool - Featured on Startup FameFazier badgeListed on Turbo0Featured on Twelve ToolsFeatured on Findly.toolsLaunchpadly Startup DirectoryCodingTool.dev — Featured on Smol Launch