[Swift] JSONDecoder 똑똑하게 사용하기

[Swift] JSONDecoder 똑똑하게 사용하기

Feat. 스네이크 표기법 -> 카멜 표기법 | 쓸모없는 CodingKeys 줄이기

우리는 보통 카멜기법으로 코딩하는데 가끔 JSON파일 보면

idx_bztp_mcls_cd_name처럼 스네이크 표기법으로 사용하는데가 있음

표기법 종류
- 스네이크 표기법: hello_world | 카멜 표기법: helloWorld | 파스칼표기법 HelloWorld

그래서 여태까지 나는 스네이크 -> 카멜로 옮기기 위해서 CodingKeys를 사용하고 있었음

struct Example: Codable {
    let storeTitle: String

    enum CodingKeys: String, CodingKey {
        case storeTitle = "store_title"
    }
}

문제는 변수가 적으면 크게 문제가 되지 않은데

변수가 30개 50개 100개라면??

저거 하는것만으로도 일이고, 실수 일어나면 대참사다. 와장창!

그래서 다른 사람들은 어떻게 하고 봤는데! 아니 Decoder에서 자동으로 해준다는걸 알게됨

무려무려 iOS8 부터 지원했던;;; 난 몰랐다!

링크에 들어가면 아래와 같이 설명이 나옴

보면 사람들이 많이 불편한걸 알고 [스네이크 -> 카멜] 자동 변환을 지원해주고 있었다.

그리고 난 그걸 모르고 있었고!

이제라도 잘 써먹어야겠다.