iOS

JSON 파일을 직접 만들고 가져오는 방법?

GEEEEEEEE 2023. 5. 10. 20:40

일단 JSON 데이터를 직접 만든다.

 

 

 

https://app.quicktype.io/

 

Instantly parse JSON in any language | quicktype

 

app.quicktype.io

 

 

 

위의 사이트에 들어가서, JSON 데이터를 입력하면,

 

해당 데이터 맞는 Model을 알 수 있다.

 

 

 

JSON 데이터에 맞는 Model

 

 

그리고, 파일을 불러오는 함수를 작성한다.

 

 

JSON 파일을 불러오는 함수

 

 

불러올 파일 이름확장자 이름을 입력해준 후, 입력된 파일 위치를 데이터로

 

초기화 시킨다.

 

 

JSON 문을 불러올 데이터 Model을 생성

 

 

 

 

 

Codable은 Encodable + Decodable 두 속성 모두 가지고 있는 타입

 

Encodable은 Swift의 구조체 구조의 객체를 JSON 형식으로 변환하는 것

 

Decodable은 JSON 형식을 객체로 변환하는 것

 

따라서, Decodable을 사용할 것이므로, JSONDecoder에 대해서 더 알아보자

 

 

 

 

JSON 개체에서 데이터 유형의 인스턴스를 decoding하는 객체이다.

 

 

 

 

 

 

JSON 개체에서 디코딩하여 지정한 유형의 값을 반환한다.

 

 

 

type은 제공된 JSON 개체에서 Decoding할 값의 유형입니다.

 

dataDecoding할 JSON 개체입니다.

 

 

그러므로,

 

guard let regionInformation = try? JSONDecoder().decode(RegionInformation.self, from: jsonData) else { return }

 

여기서 jsonData는 Decoding할 JSON 개체이며,

 

type은 아까 만들어준 Model인 RegionInformation로 지정해주면 된다.

 

 

 

regionInformation을 Print하여 decoding이 잘 이루어졌는지 확인하면

 

 

 

출력된 프린트 값이 난잡하지만 decoding이 성공적으로 되었다는 것을 알 수 있었다.