swift3中的嵌套数组?

时间:2017-06-21 03:56:03

标签: ios arrays swift swift3 jsonserializer

我有这样的数据结构,

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中保存?

2 个答案:

答案 0 :(得分:0)

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

你可以保存它

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

答案 1 :(得分:0)

以下是问题的解决方案,使用Eric Aya中的this answer代码。

将您的数据存储在任何Formate数组[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)
}

/ * OUTPUT * /

  

(           {           thumb =" url_of_thumb&#34 ;;           title ="黑暗骑士&#34 ;;       },           {           Thumb =" url_of_thumb&#34 ;;           title ="教父&#34 ;;       })

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