Swift:
Работа с JSON
Как:
Swift упрощает разбор JSON с помощью протокола Codable
. Вот как вы можете декодировать JSON в объект Swift:
import Foundation
// Определение модели, соответствующей Codable
struct User: Codable {
var name: String
var age: Int
}
// Строка JSON
let jsonString = """
{
"name": "John Doe",
"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)")
}
}
Пример вывода:
Имя: John Doe, Возраст: 30
Подробный разбор
JSON (JavaScript Object Notation) широко используется с начала 2000-х годов после того, как Дуглас Крокфорд его описал. Он заменил XML во многих случаях благодаря своему более простому синтаксису и лучшей производительности. Хотя Codable
в Swift является предпочтительным способом работы с JSON, существуют альтернативы, такие как JSONSerialization
, для случаев, когда типы не соответствуют требованиям Codable
. В фоновом режиме Codable
абстрагирует низкоуровневый разбор и делает сериализацию/десериализацию бесшовной.
Смотрите также
- Узнайте больше о JSON и Swift в официальном блоге Swift: Swift.org
- Ознакомьтесь с документацией
Codable
: Swift Codable - Для работы со сложными структурами JSON рассмотрите сторонние библиотеки, такие как SwiftyJSON, доступные на GitHub.