相关疑难解决方法(0)

如何在Swift中将数组保存为json文件?

我是新手,我很难解决这个问题.所以我需要做的是将此数组保存为iphone文档文件夹中的json文件.

var levels = ["unlocked", "locked", "locked"]
Run Code Online (Sandbox Code Playgroud)

然后才能将它读回另一个数组.有人可以告诉我该怎么做?或提供完成此操作的确切代码.

编辑:我找到了一个例子.这是他们设置数据的方式:

 "[ {"person": {"name":"Dani","age":"24"}}, {"person": {"name":"ray","age":"70"}} ]" 
Run Code Online (Sandbox Code Playgroud)

你可以这样访问它:

 if let item = json[0] 
   { if let person = item["person"] 
     { if let age = person["age"] 
      { println(age) } } }
Run Code Online (Sandbox Code Playgroud)

但我需要能够从保存在文档文件夹中的文件中执行相同的操作.

xcode json swift

26
推荐指数
4
解决办法
4万
查看次数

读取/写入本地 json 文件 swift 4

请帮助我!\n我在项目中添加了一个 json 文件\n我的 json 文件:

\n\n
{\n  "person": [\n    {\n      "title": "\xd0\x92\xd0\xb8\xd1\x82\xd0\xb0\xd0\xbc\xd0\xb8\xd0\xbd \xd0\x90",\n      "image": "Vitamin1",\n      "favorite": false\n    },\n    {\n      "title": "\xd0\x92\xd0\xb8\xd1\x82\xd0\xb0\xd0\xbc\xd0\xb8\xd0\xbd B6",\n      "image": "Vitamin2",\n      "favorite": false\n    }\n  ]\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

我可以读取文件:

\n\n
struct ResponseData: Decodable {\n    var person: [Person]\n}\n\nstruct Person : Decodable {\n    var title: String\n    var image: String\n    var favorite: Bool\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

从文件函数加载 json:

\n\n
func loadJson(filename fileName: String) -> [Person]? {\n    if let url = Bundle.main.url(forResource: fileName, withExtension: "json") {\n        do {\n            let data = try Data(contentsOf: url)\n            let …
Run Code Online (Sandbox Code Playgroud)

json swift swift4

5
推荐指数
1
解决办法
7884
查看次数

标签 统计

json ×2

swift ×2

swift4 ×1

xcode ×1