2017-04-27 98 views
-1

我正在使用SwiftyJSON来读取API响应。如何存储JSON响应并保存到JSON文件

我想通过创建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) 
+0

告诉我们你试过的东西 –

+0

我已经添加了我的代码。 –

回答

3

然后你只需要得到从JSON数据,然后使用Datawrite(to:)方法来存储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响应编辑:现在后来,当你想从这个文件中读取JSON访问它的方式。

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

但是如何从保存的文件中再次读取。 –

+0

是的,但这次文件将在设备存储中。不在项目中。 –

+0

好的确定了谢谢你 –