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.