我想把我的json文件保存在document目录下,然后从iOS的document目录中读取。我只看到了字符串或图像的教程,但如果我想保存一个json,我不知道如何。
vecaoik11#
创建JSON数据的典型方法是使用JSONEncoder:
let encoder = JSONEncoder() encoder.outputFormatting = .prettyPrinted let data = try encoder.encode(yourJsonObject)
这将在变量data中提供一个Data对象。正如其他人所说的,将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)") } }
从documents目录中的JSON文件读取对象:
getDocumentsDirectory()
URL.appendingPathComponent()
init(contentsOf:options:)
JSONDecoder
1条答案
按热度按时间vecaoik11#
创建JSON数据的典型方法是使用JSONEncoder:
这将在变量
data
中提供一个Data
对象。正如其他人所说的,将Data
对象保存到文档中非常容易。代码如下所示(以下内容仅供参考,可能包含一些小的语法错误。)从documents目录中的JSON文件读取对象:
getDocumentsDirectory()
函数沿着URL.appendingPathComponent()
构建文件的URLinit(contentsOf:options:)
从文件的内容创建Data对象。JSONDecoder
并使用它将数据转换为JSON对象。(您的对象需要符合Codable协议。)