swift3中的嵌套数组? [关闭]

Posted

技术标签:

【中文标题】swift3中的嵌套数组? [关闭]【英文标题】:Nested Array in swift3? [closed] 【发布时间】:2017-11-23 19:11:02 【问题描述】:

我有这样的数据结构,

var Data = [
             "Action" : [
                          [
                            "title":"The Dark Knight", 
                            "thumb":"url_of_thumb"
                          ],
                          [
                            "title": "The Godfather", 
                            "Thumb":"url_of_thumb"]
                          ], 
            "Drama": [
                          [
                            "title": "Malgudi Days", 
                            "Thumb":"url_of_thumb"
                          ]
                     ]
          ]

如何保存到Swift 3

【问题讨论】:

请问你想达到什么意思如何在swift3中保存?,你想保存在哪里?,你想如何保存在文本文件中, json 文件等 【参考方案1】:

这是您的问题的解决方案,使用Eric Aya 在this answer 中的代码。

将您的数据存储在任意的甲酸[String:Any]数组中

import UIKit

var testData = ["Action" : [["title":"The Dark Knight", "thumb":"url_of_thumb"],["title": "The Godfather", "Thumb":"url_of_thumb"]], "Drama": [["title": "Malgudi Days", "Thumb":"url_of_thumb"]]]
var myJsonData:[String:Any]
do 
    let jsonData = try JSONSerialization.data(withJSONObject: testData, options: .prettyPrinted)
    // here "jsonData" is the dictionary encoded in JSON data

    let decoded = try JSONSerialization.jsonObject(with: jsonData, options: [])
    // here "decoded" is of type `Any`, decoded from JSON data

    // you can now cast it with the right type
    if let JSON = decoded as? [String:Any]
    
        myJsonData = JSON
       print(myJsonData["Action"]!)

    
 catch 
    print(error.localizedDescription)

/* 输出*/

( 拇指 = "url_of_thumb"; title = "黑暗骑士"; , 拇指 = "url_of_thumb"; title = "教父"; )

如果您有 [String:String] 格式的数据,您也可以使用 Eric Aya 在此答案中给出的答案。 Convert Dictionary to JSON in Swift

【讨论】:

请注意,使用Data(Swift 3 中的一种类型)作为变量名是个坏主意,因为 Swift 约定以小写字母开头的变量命名。 @LeoDabus 感谢您的建议我编辑了我的答案【参考方案2】:

实际上这是一个包含字典数组的字典。

你可以保存它

作为带有PropertyListSerialization的属性列表 作为带有JSONSerialization的JSON

旁注:Data 是 Swift 3 中的结构体。您可以通过遵循变量名称以小写字母开头的命名约定来避免这种术语冲突。

【讨论】:

以上是关于swift3中的嵌套数组? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何将嵌套数组添加到我的模型类

使用嵌套多边形数组中的实际区域查找最内部的多边形

简化javascript中的嵌套if else语句[关闭]

使用 Alamofire 解析字典中的 json 对象 [关闭]

Swift 3 - 不能使用数组提出的 Alamofire 请求

如何将 JSON 数据存储到 swift3 中的数组(模型类)中?