Загрузить локальный json файл (Load local json file) - Swift 5
///Step1 - Структура
struct ResponseData: Decodable {
var person: [Person]
}
struct Person : Decodable {
var title: String
var image: String
var favorite: Bool
}
// Step2 Функция для загрузки и парсинга json
func loadJson(filename
fileName: String) -> [
Person]? {
if let url =
Bundle.
main.
url(
forResource: fileName,
withExtension: "json") {
do {
let data = try Data(contentsOf: url)
let decoder = JSONDecoder()
let jsonData = try decoder.decode(ResponseData.self, from: data)
return jsonData.person
}
catch {
print("error:\(error)")
}
}
return nil
}
///Step3 - Вызов функции
override func viewDidLoad() {
super.
viewDidLoad()
print(
loadJson(
filename: "document") ?? "---")
}
ПРИМЕР ДАННЫХ
{
"person": [
{
"title": "Витамин А",
"image": "Vitamin1",
"favorite": false
},
{
"title": "Витамин B6",
"image": "Vitamin2",
"favorite": false
}]
}
Возврат к списку