/ Como armazenar a resposta JSON e salvar em arquivo JSON - swift3, readfile, tratamento de arquivos, swifty-json, writefile

Como armazenar a resposta JSON e salvar em arquivo JSON - swift3, readfile, tratamento de arquivos, swifty-json, writefile

Eu estou usando o SwiftyJSON para ler a resposta da API.

Eu quero armazenar a resposta JSON localmente no dispositivo do usuário, criando o arquivo JSON para offline.

Minha função que retorna cria 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)

Respostas:

3 para resposta № 1

Então agora você simplesmente precisa obter dados do JSON e depois usar write(to:) método de Data armazenar JSON resposta em 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)
}

Editar: Agora mais tarde, quando você quiser ler JSON a partir deste arquivo, acesse-o desta maneira.

if let data = try? Data(contentsOf: fileURL) {
let json = JSON(data: data)
}