如何存储 JSON 响应并保存到 JSON 文件中

Posted

技术标签:

【中文标题】如何存储 JSON 响应并保存到 JSON 文件中【英文标题】:How store JSON response and save into JSON file 【发布时间】:2017-04-27 08:42:23 【问题描述】:

我正在使用 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)

【问题讨论】:

向我们展示您的尝试 我已经添加了我的代码。 【参考方案1】:

那么现在你只需要从JSON 获取数据,然后使用Datawrite(to:) 方法将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)

【讨论】:

抱歉,我是 ios 新手,获取 json 文件的 fileURL 是什么?

以上是关于如何存储 JSON 响应并保存到 JSON 文件中的主要内容,如果未能解决你的问题,请参考以下文章

如何在swift中将json数组保存和检索到用户默认值?

如何将 json 从 dash dcc.Store 保存到 excel 文件?

将 JSON 响应保存为变量以使用 SwiftyJSON 反序列化

如何将用户登录的 JSON 响应保存到 Core Data 中以跟踪 Swift 中的用户状态?

将 JSON 响应写入 .plist 文件

如何从 Vapor 3 中的 JSON 响应中保存父子关系