JSON을 Scala로 변환

JSON 입력

에디터 로드 중…

생성된 Scala

Configuration

Scala case class를 생성하려면 JSON 데이터를 입력하세요

프레임워크 지원을 갖춘 불변 case class

JSON을 Scala로 변환하는 방법 – 단계별 가이드

이 JSON-Scala 생성기를 사용하여 JVM 서비스 및 데이터 파이프라인용 JSON 샘플에서 Scala 케이스 클래스를 생성합니다.

  1. 1단계 - JSON 샘플 붙여넣기

    • 대표 JSON 개체 또는 배열을 왼쪽 편집기에 붙여넣습니다.
    • 유형이 올바르게 유추되도록 중첩된 개체, 배열 및 null 허용 필드를 포함합니다.
    • Import을 사용하여 파일, URL 또는 샘플 데이터에서 JSON을 로드합니다.
  2. 2단계 - Scala 모델 옵션 선택

    • 생성된 케이스 클래스에 대해 루트 Class Name을 설정합니다.
    • 선택적 필드가 표시되는 방법을 결정합니다(예: Option[String]).
    • 중첩된 개체와 배열이 중첩된 케이스 클래스 및 List/Seq에 어떻게 매핑되는지 확인하세요.
  3. 3단계 – 생성된 코드 검토

    • 필드 이름, 유형, 배열/객체 모델링 방법을 확인하세요.
    • 가능한 경우 Root Type Name, null 처리 및 프레임워크와 같은 옵션을 조정합니다.
    • 필드가 잘못 추론된 경우 샘플 JSON을 조정하고 다시 생성하세요.
  4. 4단계 - Scala에서 케이스 클래스 사용

    • 케이스 클래스를 프로젝트 소스에 붙여넣습니다.
    • 선호하는 JSON 라이브러리를 사용하여 JSON을 모델로 역직렬화하세요.
    • 비즈니스 로직이 의존하는 필수 필드에 대한 유효성 검사를 추가하세요.
  5. 5단계 - 복사 또는 다운로드

    • 출력을 프로젝트에 복사하거나 파일로 다운로드합니다.
    • 코드 스타일에 맞게 포맷터/린터를 실행하세요.
    • 언어에 필요한 경우 JSON 구문 분석/직렬화 라이브러리를 추가하세요.

빠른 팁

  • Sentinel 값 대신 누락/null 필드에 대해 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-Scala 생성기와 함께 훌륭하게 작동하는 더 많은 JSON 및 스키마 도구를 살펴보세요.

자주 묻는 질문

어떤 Scala 기능을 지원하나요?

생성기는 불변 필드를 가진 Scala case class를 생성하고, 직렬화를 위한 Circe 및 Play JSON 프레임워크를 지원하며, 적절한 패키지 구조와 Scala 네이밍 규칙을 따릅니다.

Circe 호환 클래스를 생성할 수 있나요?

네! 프레임워크에서 'Circe'를 선택하면 Circe의 제네릭(준)자동 유도를 사용해 JSON codec을 쉽게 만들 수 있는 case class를 생성합니다.

Play JSON 통합은 어떻게 작동하나요?

Play JSON 프레임워크를 선택하면, 생성기는 Play Framework에서 자동 JSON 직렬화/역직렬화를 위한 implicit Format 인스턴스를 추가합니다.

불변성과 함수형 프로그래밍은 어떻게 되나요?

생성된 Scala case class는 기본적으로 불변이며, 패턴 매칭을 지원하고, 함수형 프로그래밍 원칙에 따라 equals/hashCode/toString을 자동으로 제공합니다.

JSON을 Scala로 변환 | JSONSwiss