JSON을 Swift로 변환

JSON 입력

에디터 로드 중…

생성된 Swift

Configuration

Swift 구조체를 생성하려면 JSON 데이터를 입력하세요

Codable 지원과 타입 안전성을 갖춘 구조체

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

이 JSON-Swift 생성기를 사용하여 iOS/macOS 앱 및 Swift 서비스용 JSON 샘플에서 Codable Swift 구조체를 생성하세요.

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

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

    • 루트 Struct Name(예: Root)을 설정합니다.
    • 선택적 필드가 String? 및 유사한 유형에 매핑되는 방식을 검토하세요.
    • JSON 키가 Swift 명명 규칙과 일치하지 않는 경우 키 매핑 전략을 확인하세요.
  3. 3단계 – 생성된 코드 검토

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

    • 생성된 구조체를 프로젝트에 추가하고 Codable을 준수하는지 확인하세요.
    • JSONDecoder을 사용하여 JSON을 루트 유형으로 디코딩합니다.
    • 필요에 따라 사용자 정의 CodingKeys 또는 날짜 디코딩 전략을 추가합니다.
  5. 5단계 - 복사 또는 다운로드

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

빠른 팁

  • 타임스탬프에는 ISO8601DateFormatter/JSONDecoder.dateDecodingStrategy을(를) 선호합니다.
  • 필요한 경우 snake_case를 camelCase로 변환하려면 CodingKeys을 사용하세요.
  • 결합을 방지하려면 DTO 구조체를 UI 모델과 별도로 유지하세요.
출력 예(단순화)
// 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-Swift 생성기와 함께 훌륭하게 작동하는 더 많은 JSON 및 스키마 도구를 살펴보세요.

자주 묻는 질문

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

생성기는 올바른 타입 안전성을 가진 Swift struct를 생성하고, JSON 직렬화/역직렬화를 위한 Codable 프로토콜을 지원하며, null 값에는 optional 타입을 사용하고 Swift 네이밍 규칙을 따릅니다.

Codable 프로토콜은 어떻게 작동하나요?

Codable 프레임워크를 선택하면 생성된 struct가 Codable을 자동으로 준수하여 JSONEncoder/JSONDecoder로 손쉽게 인코딩/디코딩할 수 있습니다.

optional 값은 어떻게 처리되나요?

JSON의 null 값은 Swift의 optional 타입(?)에 매핑되어 타입 안전성을 제공하며, Swift의 null 안전 접근 방식에 따라 명시적인 언래핑이 필요합니다.

Swift 타입 시스템은 어떻게 반영되나요?

생성된 Swift 코드는 Int, Double, String, Bool, [Any], [String: Any] 등 적절한 타입을 사용하고, 불변 데이터 모델을 위해 value semantics를 갖는 struct를 활용합니다.

JSON을 Swift로 변환 | JSONSwiss