JSON Decoder 대해 알아보자!

2022. 9. 6. 18:12iOS

JSON Decoder란?

JSON Decoder는 JSON 데이터를 Swift 객체로 파싱 하도록 도와주는 Decoder이다.

 

사용하기

Decodeer을 상속 받는 struct 생성하기

Decodeer에 저장된 데이터를 파싱 하기

 

먼저 codable의 객체를 만든다

 struct Feed: Codable {

        let name: String

        let age: Int

    }

구성해준 다음 JSON 데이터는..

let data = """
{
    "name" : "hemg",
    "age"  : 19
}
""".data(using: .utf8)!

서버에서 준 제이손 데이터라고 치며

이제 data를 Feed의 구조체 변수에 Decoding을 하고 싶다면

 

 let datas = try? JSONDecoder().decode(Feed.self, from: data)

이렇게 명령하여 파싱 하면 된다.   문제없이 파싱이 된다!!

decode의 첫 번째 파라미터에 codable상위 변수를 넣어줘 야한다.!

 

 

JSON 데이터        Codable 구조체

name: hemg        name: String  

age: 19                 age: Int 

이런 식으로 JSON Data의 값이 구조체 변수 타입과 동일하면

그 변수의 값과 벨루를 파싱 하는 것이다.

JSON Data의 Key 값은 Codable을 따르는 타입(Human 구조체)의 멤버 이름과

1대 1 매칭 되어야만 문제없이 사용할 수 있다