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

Ввод JSON

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

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

Configuration

Введите JSON, чтобы сгенерировать Scala case classes

Иммутабельные case classes с поддержкой фреймворков

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

Используйте этот генератор JSON to Scala, чтобы создавать классы случаев Scala из образцов JSON для служб JVM и конвейеров данных.

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

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

    • Установите корень Class Name для созданного класса дела.
    • Решите, как будут представлены необязательные поля (например, Option[String]).
    • Убедитесь, как вложенные объекты и массивы сопоставляются с вложенными классами вариантов и List/Seq.
  3. Шаг 3. Просмотрите сгенерированный код.

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

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

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

Советы

  • Предпочитайте Option для отсутствующих/нулевых полей вместо контрольных значений.
  • Следите за тем, чтобы модели соответствовали вашим контрактам API, чтобы избежать несоответствий во время выполнения.
  • Создавайте схему 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 Scala models (simplified)
final case class Metadata(plan: String)

final case class Root(
  id: Long,
  name: String,
  email: Option[String],
  active: Boolean,
  roles: List[String],
  metadata: Metadata,
  createdAt: String,
  score: Double,
  notes: Option[Any]
)

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

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

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

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

Генератор создаёт Scala case classes с неизменяемыми полями, поддерживает Circe и Play JSON для сериализации и следует Scala‑конвенциям с корректной структурой пакетов.

Можно ли генерировать классы, совместимые с Circe?

Да! Выберите «Circe», чтобы получить case classes с автоматической генерацией кодеков через generic semi‑automatic derivation.

Как работает интеграция Play JSON?

При выборе Play JSON генератор добавляет implicit Format‑инстансы для автоматической сериализации/десериализации в Play Framework.

Что насчёт иммутабельности и функционального подхода?

Сгенерированные case classes по умолчанию immutable, поддерживают pattern matching и имеют автоматические equals/hashCode/toString, что хорошо соответствует функциональным принципам.

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