인프런 커뮤니티 질문&답변

문희찬님의 프로필 이미지

작성한 질문수

앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지

활용-9 앱 / 네트워킹 이론과 코드 테스트 (활용 앱75강)

decode함수가 실패해요

23.02.22 13:47 작성

·

468

0

let string = String(data: safeData, encoding: .utf8)!

safeData를 String으로 파싱하여 string을 print하면 데이터가 잘 출력되는걸 확인할 수 있어요.

try JSONDecoder().decode(MusicData.self, from: safeData)

하지만 MusicData.self에 파싱하면 실패합니다.

print(safeData)의 결과값은 "77185bytes"로 데이터의 크기만 출력해주는데, 어떻게 하면 MusicData에 데이터를 담을 수 있을까요?

답변 2

0

문희찬님의 프로필 이미지
문희찬
질문자

2023. 02. 23. 14:48

원인을 찾았어요.

Music 구조체 안에 releaseDate의 타입을 Date에서 String으로 바꾸니까 해결됐어요. https://app.quicktype.io/ 은 Date타입을 제공하지만 String으로 바꿔야하네요

앨런(Allen)님의 프로필 이미지
앨런(Allen)
지식공유자

2023. 02. 23. 16:44

오! 잘 찾아내셨군요 ^^

0

앨런(Allen)님의 프로필 이미지
앨런(Allen)
지식공유자

2023. 02. 22. 14:00

데이터가 문자열로는 출력이 되어서 데이터로 잘 들어오는 것을 확인을 하셨는데..

데이터로 변환이 안된다면 MusicData를 정의를 잘못하셨겠네요.


클래스 또는 구조체로 만드신 MusicData에서 무엇이 잘 못되었을지 파악해보세요 :)