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

Ввод JSON

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

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

Configuration

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

Структуры с Codable и типобезопасностью

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

Используйте этот генератор JSON to Swift для создания структур Codable Swift из образцов JSON для приложений iOS/macOS и служб Swift.

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

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

    • Установите корень Struct Name (например, Root).
    • Узнайте, как необязательные поля сопоставляются с String? и подобными типами.
    • Подтвердите стратегию сопоставления клавиш, если ключи JSON не соответствуют соглашениям об именах Swift.
  3. Шаг 3. Просмотрите сгенерированный код.

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

    • Добавьте сгенерированные структуры в свой проект и убедитесь, что они соответствуют Codable.
    • Декодируйте JSON с помощью JSONDecoder в корневой тип.
    • При необходимости добавьте собственные стратегии CodingKeys или декодирования даты.
  5. Шаг 5 – Скопируйте или загрузите

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

Советы

  • Предпочитайте ISO8601DateFormatter/JSONDecoder.dateDecodingStrategy для меток времени.
  • При необходимости используйте CodingKeys для преобразования Snake_case в CamelCase.
  • Держите структуры DTO отдельно от моделей пользовательского интерфейса, чтобы избежать связи.
Пример вывода (упрощенный)
// Ввод 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 Swift models (simplified)
struct Metadata: Codable {
  let plan: String
}

struct Root: Codable {
  let id: Int
  let name: String
  let email: String?
  let active: Bool
  let roles: [String]
  let metadata: Metadata
  let createdAt: String
  let score: Double
  let notes: String?
}

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

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

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

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

Генератор создаёт Swift struct с корректной типизацией, поддерживает протокол Codable для сериализации/десериализации JSON, использует optional‑типы для null и следует Swift‑конвенциям.

Как работает протокол Codable?

При выборе Codable структуры автоматически conform к Codable и позволяют кодировать/декодировать JSON через JSONEncoder и JSONDecoder.

Как обрабатываются optional‑значения?

Null в JSON маппится на optional‑типы (?) в Swift, обеспечивая типобезопасность и требуя явного unwrap, как принято в Swift.

Что насчёт типовой системы Swift?

Код использует сильную типизацию Swift (Int, Double, String, Bool, [Any], [String: Any]) и value semantics через struct для иммутабельных моделей данных.

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