J
[Swift] JSONEncoder.KeyEncodingStrategy 본문
네트워크 통신을 진행하면서 body를 전달할 때 인코딩 과정이 필요하다는 것은 알 것이다.
struct 형태의 데이터를 json으로 인코딩해서 서버에 전달해야 하기 때문이다.
그런데 여기서 json으로 인코딩할 때 어떻게 할 것인지를 정할 수 있는 enum이 존재한다.
그게 바로 JSONEncoder.KeyEncodingStrategy이다.
예시 struct를 한 가지 두고 설명을 해보겠다.
struct Person {
let name: String
let birthDay: Date
}
첫 번째 방법은 case convertToSnakeCase 이다.
이는 swift에서 camelCase로 작성된 것들을 snakeCase로 변경한다.
즉 birthDay → birth_day, 이렇게 변환하여 전달한다.
두번째 방법은 case useDefaultKeys 이다.
사실 사용자가 작성한 그대로 전달한다는 것을 의미한다.
즉, birthDay → birthDay, 이렇게 변환하지 않은 채로 전달한다.
사용 방법은 간단하다.
let encoder = JSONEncoder()
encoder.keyEncodingStrategy = .convertToSnakeCase
let encoder = JSONEncoder()
encoder.keyEncodingStrategy = .useDefaultKeys
'Swift' 카테고리의 다른 글
[Swift] @available (0) | 2024.05.19 |
---|---|
[Swift] #available (0) | 2024.05.19 |
[Swift] map (0) | 2024.04.19 |
[Swift] init (0) | 2024.04.18 |
[Swift] weak, unowned (0) | 2024.04.18 |