# Codable та парсинг JSON (iOS) > Протокол Codable, JSONEncoder, JSONDecoder, користувацькі ключі, вкладений JSON, стратегії дат - 20 питань зі співбесід - Mid-Level - [Питання зі співбесід: iOS](https://sharpskill.dev/uk/technologies/ios/pytannia-spivbesidy.md) ## 1. Що таке протокол Codable у Swift? **Відповідь** Codable — це typealias, що поєднує Encodable і Decodable. Він дозволяє серіалізувати та десеріалізувати структури Swift у/з JSON або інших форматів. Це стандартний механізм обробки JSON в iOS без зовнішніх фреймворків. ## 2. Яка різниця між Encodable і Decodable? **Відповідь** Encodable серіалізує екземпляр Swift у дані JSON (об'єкт у JSON). Decodable виконує зворотну операцію, перетворюючи JSON на екземпляр Swift. Ці протоколи ортогональні: структура може реалізувати один, інший або обидва за потреби. ## 3. Для чого використовується enum CodingKeys під час декодування JSON? **Відповідь** CodingKeys зіставляє властивості Swift із фактичними ключами JSON. Він обробляє розбіжності в іменуванні між кодом Swift (camelCase) і JSON (snake_case). Без CodingKeys імена властивостей мають точно збігатися з ключами JSON. ## Ще 17 доступних питань - Як створити екземпляр JSONDecoder для декодування JSON? - Що повертає JSONEncoder.encode() після успішної серіалізації? Зареєструйся безкоштовно: https://sharpskill.dev/uk/login ## Інші теми співбесід iOS - [Основи Swift](https://sharpskill.dev/uk/technologies/ios/pytannia-spivbesidy/swift-basics.md): 25 запитань, Junior - [Основи мови Swift](https://sharpskill.dev/uk/technologies/ios/pytannia-spivbesidy/swift-language-essentials.md): 15 запитань, Junior - [Основи UIKit](https://sharpskill.dev/uk/technologies/ios/pytannia-spivbesidy/uikit-fundamentals.md): 18 запитань, Junior - [Життєвий цикл UIViewController](https://sharpskill.dev/uk/technologies/ios/pytannia-spivbesidy/uiviewcontroller-lifecycle.md): 20 запитань, Junior - [UserDefaults & Keychain](https://sharpskill.dev/uk/technologies/ios/pytannia-spivbesidy/userdefaults-keychain.md): 20 запитань, Junior - [Життєвий цикл застосунку](https://sharpskill.dev/uk/technologies/ios/pytannia-spivbesidy/app-lifecycle.md): 20 запитань, Junior - [Auto Layout & Constraints](https://sharpskill.dev/uk/technologies/ios/pytannia-spivbesidy/auto-layout-constraints.md): 24 запитань, Mid-Level - [UITableView & UICollectionView](https://sharpskill.dev/uk/technologies/ios/pytannia-spivbesidy/uitableview-uicollectionview.md): 25 запитань, Mid-Level - [Основи SwiftUI](https://sharpskill.dev/uk/technologies/ios/pytannia-spivbesidy/swiftui-basics.md): 18 запитань, Mid-Level - [Керування станом у SwiftUI](https://sharpskill.dev/uk/technologies/ios/pytannia-spivbesidy/swiftui-state-management.md): 22 запитань, Mid-Level - [Навігація SwiftUI](https://sharpskill.dev/uk/technologies/ios/pytannia-spivbesidy/swiftui-navigation.md): 18 запитань, Mid-Level - [Networking & URLSession](https://sharpskill.dev/uk/technologies/ios/pytannia-spivbesidy/networking-urlsession.md): 20 запитань, Mid-Level - [Core Data](https://sharpskill.dev/uk/technologies/ios/pytannia-spivbesidy/core-data.md): 22 запитань, Mid-Level - [Протоколо-орієнтоване програмування](https://sharpskill.dev/uk/technologies/ios/pytannia-spivbesidy/protocol-oriented-programming.md): 20 запитань, Mid-Level - [Архітектура MVVM](https://sharpskill.dev/uk/technologies/ios/pytannia-spivbesidy/mvvm-architecture.md): 20 запитань, Mid-Level - [Push-сповіщення](https://sharpskill.dev/uk/technologies/ios/pytannia-spivbesidy/push-notifications.md): 18 запитань, Mid-Level - [Модульне тестування та XCTest](https://sharpskill.dev/uk/technologies/ios/pytannia-spivbesidy/unit-testing-xctest.md): 20 запитань, Mid-Level - [Тестування інтерфейсу користувача](https://sharpskill.dev/uk/technologies/ios/pytannia-spivbesidy/ui-testing.md): 18 запитань, Mid-Level - [Xcode і система збірки](https://sharpskill.dev/uk/technologies/ios/pytannia-spivbesidy/xcode-build-system.md): 16 запитань, Mid-Level - [Swift Package Manager](https://sharpskill.dev/uk/technologies/ios/pytannia-spivbesidy/swift-package-manager.md): 16 запитань, Mid-Level - [Memory Management & ARC](https://sharpskill.dev/uk/technologies/ios/pytannia-spivbesidy/memory-management-arc.md): 22 запитань, Senior - [Combine Framework](https://sharpskill.dev/uk/technologies/ios/pytannia-spivbesidy/combine-framework.md): 24 запитань, Senior - [Concurrency & async/await](https://sharpskill.dev/uk/technologies/ios/pytannia-spivbesidy/concurrency-async-await.md): 26 запитань, Senior - [iOS Design Patterns](https://sharpskill.dev/uk/technologies/ios/pytannia-spivbesidy/ios-design-patterns.md): 24 запитань, Senior - [Оптимізація продуктивності](https://sharpskill.dev/uk/technologies/ios/pytannia-spivbesidy/performance-optimization.md): 22 запитань, Senior - [Безпека та шифрування](https://sharpskill.dev/uk/technologies/ios/pytannia-spivbesidy/security-encryption.md): 20 запитань, Senior - [SwiftUI Advanced](https://sharpskill.dev/uk/technologies/ios/pytannia-spivbesidy/swiftui-advanced.md): 22 запитань, Senior - [Архітектура застосунків iOS](https://sharpskill.dev/uk/technologies/ios/pytannia-spivbesidy/ios-app-architecture.md): 22 запитань, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/uk/technologies/ios/pytannia-spivbesidy/codable-json-parsing