Swift:编写JSON并保存到本地iPhone文件



我正在学习如何将JSON格式的数据写入iPhone。因此,只需单击一个按钮,我想将这些数据保存到iPhone上。 我看了一个简单的看如何写一些简单的文本并将其保存到iPhone文件,它工作了。但是,我尝试将同样的想法应用于 JSON 数据,但仍然没有弄清楚。我试过了:

与其让内容等于一些书面文本,我试图把它作为我的数据(jsondata(。 但它似乎不适用于

尝试 jsondata.write(to: fileURL, atomally: false, encoding: .utf8(

@IBAction func writeFiles(_ sender: Any) {
let file = "(UUID().uuidString).txt"
let contents = "Testing"
let dir = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!
let fileURL = dir.appendingPathComponent(file)
do {
try contents.write(to: fileURL, atomically: false, encoding: .utf8)
}
catch {
print("Error: (error)")
}
}

对不起,我有点新,目前正在学习 Swift

谢谢!

这是一个简单的项目,供您克隆或浏览源文件 https://github.com/eSpecialized/WriteJsonToFiles

视图控制器包含示例; https://github.com/eSpecialized/WriteJsonToFiles/blob/master/WriteToFiles/ViewController.swift

基本上你需要做几个步骤来写作;

  1. 组装您的对象(字符串等(。
  2. 使用 JSONEncoder 转换为 JSONEncoded 数据。
  3. 实际的"数据"对象可以将其二进制内容写入存储。

读取数据;

  1. 你需要一个JSONDecoder。
  2. 您需要使用数据(内容:...(在内存中的文件内容
  3. 将内存中的数据解码回对象,就像存储了它一样。

读取和写入 JSON 到 Web 服务 API 的一个更复杂的示例位于 Medium 上,此处> https://medium.com/better-programming/json-parsing-in-swift-2498099b78f

概念是相同的,目标从用户文档文件夹中的文件更改为 Web 服务 API。 我觉得让你开始阅读和编写 JSON 就足够了。

Medium 文章更进一步,向您介绍了数据模型,并使用 Codable 协议读取和编写这些数据模型结构。

享受! :)

最新更新