Swift:
Робота з JSON
Як це робити:
Swift робить аналіз JSON прямолінійним із використанням протоколу Codable
. Ось як можна декодувати JSON до об’єкта Swift:
import Foundation
// Визначаємо модель, яка відповідає протоколу Codable
struct User: Codable {
var name: String
var age: Int
}
// Рядок JSON
let jsonString = """
{
"name": "Джон Доу",
"age": 30
}
"""
// Перетворюємо рядок JSON на Data
if let jsonData = jsonString.data(using: .utf8) {
// Декодуємо дані JSON до об'єкта User
do {
let user = try JSONDecoder().decode(User.self, from: jsonData)
print("Ім'я: \(user.name), Вік: \(user.age)")
} catch {
print("Помилка декодування JSON: \(error)")
}
}
Приклад виводу:
Ім'я: Джон Доу, Вік: 30
Глибше занурення
JSON (JavaScript Object Notation) широко використовується з початку 2000-х років, після того як Дуглас Крокфорд його визначив. Він замінив XML у багатьох випадках завдяки своєму простішому синтаксису та кращій продуктивності. Хоча Codable
в Swift є головним для роботи з JSON, існують альтернативи, такі як JSONSerialization
, коли потрібно працювати з типами, що не підпадають під протокол Codable. За лаштунками Codable
абстрагує низькорівневий аналіз і робить серіалізацію/десеріалізацію безшовною.
Дивіться також
- Дізнайтеся більше про JSON і Swift на офіційному блозі Swift: Swift.org
- Ознайомтеся з документацією
Codable
: Swift Codable - Для складних структур JSON розгляньте можливість використання сторонніх бібліотек, таких як SwiftyJSON, доступних на GitHub.