• 카테고리

    질문 & 답변
  • 세부 분야

    모바일 앱 개발

  • 해결 여부

    미해결

decode함수가 실패해요

23.02.22 13:47 작성 조회수 351

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

원인을 찾았어요.

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

오! 잘 찾아내셨군요 ^^

0

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

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


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