/ / Как да съхранявате JSON отговор и да запишете в JSON файл - swift3, readfile, обработка на файлове, swifty-json, writefile

Как да съхранявате JSON отговор и да запишете в JSON файл - swift3, readfile, обработка на файлове, swifty-json, writefile

Използвам 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)
}