Json decoding, error handling, coding key

hankyulee·2021년 9월 23일
0

parsing

목록 보기
1/1

  • 먼저, 갖고오고싶은 json데이터를 확인한다.
  • 받을 model을 구성한다.

    url을통해 data를 가지고온 후, 디코딩하는 함수를 정의한다. 그 안에 main스레드에서 비동기적으로 컴플리션헨들러를 정의한다.(캡쳐).

    캡쳐한 dataResponse를 print한다.
    결과:

과거에 enum을 error를 custom하는 데 종종 쓰이는것을 보았다. 따라서 여기에 enum을 통한 error handling을 적용해보자. 이는 completion handler 를 이용할것이다. 다음과 같이 몇가지 error을 정의했다.

또한 Result는 enum으로서 success와 failure로 구성되어있다. Success,Failure는 generic을 이용한다. 우리의 Success의 경우는 첫번째 사진의 Json 을 보면 확인할 수 있듯이, [MyData]이다. Error 프로토콜을 따르는 Failure은 위에서 정의한 NetworkError이다.

id 를 ids로 바꾸고,
decoding 부분을 수정한 후 실행했을 때,

정의한 에러가 잘 실행됨을 알 수 있다.
json데이터의 lat,lng부분이 거슬려서.. codingkey 프로토콜을 이용해 latitude,longitude로 바꿔보았다. 실무에서는 어떤 이름으로 바뀔지 몰라서 적용하는 연습을 해보았다..

바꾼 이름으로 출력되는것을 볼 수 있다.

0개의 댓글