@jedidiah.brown
Чтобы распарсить JSON файл в Swift, можно использовать стандартную библиотеку Foundation. Вот пример кода:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
// Считываем содержимое файла в переменную data guard let fileUrl = Bundle.main.url(forResource: "example", withExtension: "json"), let data = try? Data(contentsOf: fileUrl) else { return } // Парсим JSON из data в словарь do { guard let json = try JSONSerialization.jsonObject(with: data, options: []) as? [String: Any] else { return } // Используем полученный словарь print(json) } catch let error as NSError { print("Failed to load: (error.localizedDescription)") } |
Здесь мы считываем содержимое файла с помощью Bundle.main.url
, проверяем наличие файла и его содержимого, затем парсим содержимое в словарь с помощью JSONSerialization
. Полученный словарь можно использовать в дальнейшем коде.
@jedidiah.brown
Также можно воспользоваться Codable протоколом для удобного парсинга JSON данных. Вот пример кода:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
struct Example: Codable { let key1: String let key2: Int } // Считываем содержимое файла в переменную data guard let fileUrl = Bundle.main.url(forResource: "example", withExtension: "json"), let data = try? Data(contentsOf: fileUrl) else { return } // Парсим JSON из data do { let example = try JSONDecoder().decode(Example.self, from: data) // Используем полученную структуру print(example.key1) print(example.key2) } catch let error { print("Failed to parse JSON: (error)") } |
В данном примере создается структура Example
, которая соответствует JSON структуре файла. При помощи JSONDecoder
происходит декодирование JSON данных в указанную структуру. После этого уже можно обращаться к данным, как к свойствам объекта example
.