Codable & JSON Parsing
Codable protocol, JSONEncoder, JSONDecoder, custom keys, nested JSON, date strategies
1What is the Codable protocol in Swift?
What is the Codable protocol in Swift?
답변
Codable is a typealias combining Encodable and Decodable. It enables serialization and deserialization of Swift structures to/from JSON or other formats. It's the standard mechanism for handling JSON in iOS without external frameworks.
2What is the difference between Encodable and Decodable?
What is the difference between Encodable and Decodable?
답변
Encodable serializes a Swift instance into JSON data (object to JSON). Decodable performs the reverse operation, converting JSON into a Swift instance. These protocols are orthogonal: a struct can implement one, the other, or both as needed.
3What is the purpose of the CodingKeys enum during JSON decoding?
What is the purpose of the CodingKeys enum during JSON decoding?
답변
CodingKeys maps Swift properties to actual JSON keys. It handles naming mismatches between Swift code (camelCase) and JSON (snake_case). Without CodingKeys, property names must exactly match JSON keys.
How to create a JSONDecoder instance to decode JSON?
What does JSONEncoder.encode() return after successful serialization?
+17 면접 질문