如何保存json文件在文档目录?



我想将json文件保存在文档目录中,并从iOS的文档目录中读取它。我只看过字符串或图像的教程,但如果我想保存json,我不知道如何。

创建JSON数据的典型方法是使用JSONEncoder:

let encoder = JSONEncoder()
encoder.outputFormatting = .prettyPrinted
let data = try encoder.encode(yourJsonObject)

在变量data中给出一个Data对象。正如其他人所说,将Data对象保存到文档中非常容易。代码看起来像这样(下面的代码是一个指南,可能包含一些小的语法错误)

func getDocumentsDirectory() -> URL {
let paths = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)
let documentsDirectory = paths[0]
return documentsDirectory
}
func saveDataToDocuments(_ data: Data, jsonFilename: String = "myJson.JSON") {
let jsonFileURL = getDocumentsDirectory().appendingPathComponent(jsonFilename)
do {
try data.write(to: jsonFileURL)
} catch {
print("Error = (error.description)")
}
}

从文档目录下的JSON文件中读取一个对象:

  • 使用上面的getDocumentsDirectory()函数和URL.appendingPathComponent()构建一个指向文件的URL
  • 使用Data方法init(contentsOf:options:)从文件的内容创建一个Data对象
  • 创建JSONDecoder并使用它将数据转换为JSON对象。(你的对象需要符合可编码协议。)

相关内容

  • 没有找到相关文章

最新更新