Генератор JSON в PHP

Ввод JSON

Загрузка редактора…

Сгенерированный PHP

Configuration

Параметры генерации PHP

Введите JSON, чтобы сгенерировать PHP‑код

Классы с getters и setters

Как конвертировать JSON в PHP – пошаговое руководство

Используйте этот генератор JSON в PHP для создания классов PHP из образцов JSON для интеграции Laravel, Symfony и серверной части.

  1. Шаг 1. Вставьте образец JSON.

    • Вставьте типичный объект или массив JSON в левый редактор.
    • Включите вложенные объекты, массивы и поля, допускающие значение NULL, чтобы типы выводились правильно.
    • Используйте Import для загрузки JSON из файла, URL-адреса или образца данных.
  2. Шаг 2. Выберите параметры класса PHP.

    • Установите корень Class Name и пространство имен, если вы используете автозагрузку PSR-4.
    • Решите, как представлять необязательные поля (типы, допускающие значение NULL, например ?string).
    • Просмотрите вложенные объекты и массивы, чтобы они, где это возможно, сопоставлялись с выделенными классами и типизированными массивами.
  3. Шаг 3. Просмотрите сгенерированный код.

    • Проверьте имена полей, типы и способ моделирования массивов/объектов.
    • Настройте такие параметры, как Root Type Name, обработку значений NULL и платформы, если они доступны.
    • Если поле выведено неправильно, измените образец JSON и выполните его повторное создание.
  4. Шаг 4. Используйте классы PHP

    • Скопируйте классы в свой проект и убедитесь, что настроена автозагрузка.
    • Сопоставьте декодированные массивы JSON с вашими DTO (или используйте гидратор).
    • Проверьте обязательные поля перед использованием данных в бизнес-логике.
  5. Шаг 5 – Скопируйте или загрузите

    • Скопируйте выходные данные в свой проект или загрузите их в виде файла.
    • Запустите форматтер/линтер в соответствии со стилем вашего кода.
    • Добавьте библиотеки синтаксического анализа/сериализации JSON, если они требуются для вашего языка.

Советы

  • Предпочитайте типизированные свойства (PHP 7.4+) для более понятных контрактов.
  • Держите DTO отдельно от моделей ORM, чтобы избежать связи.
  • Если вы принимаете внешний JSON, сначала подтвердите его с помощью схемы JSON.
Пример вывода (упрощенный)
// Ввод JSON
{
  "id": 123,
  "name": "Maeve Winters",
  "email": "[email protected]",
  "active": true,
  "roles": ["admin", "editor"],
  "metadata": { "plan": "pro" },
  "createdAt": "2024-03-01T10:15:00Z",
  "score": 99.5,
  "notes": null
}

// Generated PHP DTOs (simplified)
final class Metadata {
  public string $plan;
}

final class Root {
  public int $id;
  public string $name;
  public ?string $email;
  public bool $active;
  /** @var string[] */
  public array $roles;
  public Metadata $metadata;
  public string $createdAt;
  public float $score;
  public mixed $notes;
}

Сопутствующие инструменты JSON и PHP

Узнайте больше об инструментах JSON и схемы, которые отлично работают вместе с генератором JSON в PHP.

Часто задаваемые вопросы

Какие возможности PHP поддерживаются?

Генератор создаёт PHP‑классы с type hints (PHP 7.4+), getters/setters и конструкторами, а также поддерживает разные фреймворки, например Laravel Eloquent models и plain PHP classes.

Можно ли генерировать модели Laravel Eloquent?

Да! Выберите «Laravel», чтобы сгенерировать Eloquent‑модели, наследующие базовый Model, с корректными imports и конвенциями Laravel.

Как обрабатываются PHP namespaces?

Вы можете указать namespace. Генератор добавит соответствующую namespace‑декларацию в начало PHP‑файла.

Что с type hints и строгой типизацией?

Генератор использует современные type hints для параметров и возвращаемых значений, поддерживая bool, int, float, string и array по типам данных JSON.

Генератор JSON в PHP | JSONSwiss