Използвам SwiftyJSON, за да прочета отговора на API.
Искам да съхранявам отговор JSON локално в потребителското устройство, като създам JSON файл за офлайн.
Функцията ми, която се връща, създава JSON:
Alamofire.request(HostURL)
.responseJSON { response in
guard response.result.isSuccess else {
debugPrint("getCourseDataFromCourseId: Error while fetching tags (String(describing: response.result.error))")
failure(response.result.error! as NSError)
return
}
guard response.result.error == nil else {
debugPrint(response.result.error!)
return
}
guard let json = response.result.value else {
debugPrint("JSON Nil")
return
}
let swiftJson = JSON(json)
Отговори:
3 за отговор № 1След това просто трябва да получите данни от JSON
и след това използвайте write(to:)
метод на Data
съхранявам JSON
отговор в DocumentDirectory
if let data = try? json.rawData() {
let fileUrl = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0]
.appendingPathComponent("Sample.json") // Your json file name
try? data.write(to: fileUrl)
}
Редактиране: Сега по-късно, когато искате да прочетете JSON
от този файл има достъп до него по този начин.
if let data = try? Data(contentsOf: fileURL) {
let json = JSON(data: data)
}