JSON 입력

Swift 출력

JSON을 Swift로란?

Swift는 JSON 인코딩 및 디코딩을 위해 Codable이 있는 구조체와 클래스를 사용합니다. 이 도구는 JSON 구조에서 Swift 타입을 생성하여 JSONDecoderCodable로 타입 안전 파싱을 할 수 있습니다. JSON 사양이 입력 형식을 정의합니다.

변환은 브라우저에서 수행됩니다. 구조체 이름을 설정하고 Codable 사용옵셔널 타입을 활성화할 수 있습니다. 서버로 전송되지 않습니다. 생성된 타입은 iOS, macOS 또는 서버 측 Swift 프로젝트의 시작점입니다.

JSON을 Swift로 변환이 도움이 되는 경우

REST API를 사용하는 iOS 또는 macOS 앱을 개발할 때 Codable 구조체를 여기에서 생성하세요. 파싱을 위해 JSONDecoder를 사용하세요. 샘플 응답을 붙여넣어 타입이 지정된 모델을 얻으세요.

이 도구 사용 방법

1

JSON 붙여넣기 또는 업로드

왼쪽 편집기에 JSON을 붙여넣거나 파일을 업로드합니다. 샘플 데이터를 보려면 샘플을 사용하세요. 구성에서 루트 구조체 이름을 설정하세요. Codable 적합성을 위해 Codable 사용을 활성화하고 선택적 필드를 위해 옵셔널 타입을 활성화하세요.

2

생성된 타입 확인

오른쪽 패널에 Swift 구조체 또는 클래스가 표시됩니다. 중첩 객체는 중첩 타입이 됩니다. 파싱을 위해 <code>JSONDecoder().decode(YourType.self, from: data)</code>를 사용하세요. JSON 키가 속성 이름과 다른 경우 <code>CodingKeys</code>를 추가하세요. 잘못된 JSON의 경우 먼저 JSON 검증기를 사용하세요.

3

복사 또는 다운로드

<strong>복사</strong> 또는 <strong>다운로드</strong>를 사용하세요. JSON 서식 지정을 위해 먼저 JSON 포매터를 사용하세요. 검증을 위해 JSON 검증기를 사용하세요.

JSON을 Swift로 변환 예시

다음은 JSON 객체에서 Swift 구조체를 생성하는 예시입니다.

예시: 구독자 레코드

JSON 입력:

입력

생성된 Swift 출력:

출력

JSON을 Swift로 변환이 도움이 되는 경우

REST API를 사용하는 iOS 또는 macOS 앱을 개발할 때 응답 페이로드에 대한 Swift 타입이 필요합니다. 샘플 응답을 여기에 붙여넣으면 URLSession 또는 Alamofire용 Codable 구조체가 생성됩니다. 서버 측 Swift(Vapor, Kitura)도 동일한 워크플로에서 이점을 얻습니다. 복잡하게 중첩된 JSON에 대해 수동으로 구조체를 작성하면 오류가 발생하기 쉽습니다. 이 도구는 샘플에서 구조를 도출합니다. 대용량 응답에서 특정 값을 추출하려면 명령줄에서 jq를 사용하세요. 검증을 위해 JSON 검증기를 사용하세요.

자주 묻는 질문

Codable 지원?

생성기는 일반적으로 Codable 타입을 생성합니다. 직렬화를 위해 JSONDecoderJSONEncoder를 사용하세요. JSON 키가 속성 이름과 다른 경우 CodingKeys를 추가하세요. Apple의 Codable 가이드를 참조하세요.

선택적 필드?

선택적 JSON 필드는 Optional<T> 또는 T?에 매핑됩니다. null이거나 누락될 수 있는 필드에 대해 구성에서 옵셔널 타입을 활성화하세요. 이렇게 하면 없는 것과 있는 것을 구분할 수 있습니다.

구조체 대 클래스?

구조체는 값 타입이며 Swift에서 DTO에 선호됩니다. 생성기는 일반적으로 구조체를 생성합니다. 참조 의미론 또는 상속이 필요한 경우 클래스를 사용하세요.

데이터는 개인 정보가 보호됩니까?

네. 생성은 완전히 브라우저에서 수행됩니다. JSON이나 코드가 서버로 전송되지 않습니다.

Alamofire와 함께 사용할 수 있습니까?

네. Alamofire의 응답 핸들러는 Codable 타입과 함께 작동합니다. 여기에서 구조체를 생성하고 responseDecodable(of: YourType.self)에 전달하세요.

관련 도구

Swift Codable. JSONDecoder. JSON 사양. RFC 8259. MDN.