在 Swift 3 中解析 JSON 数组

Posted

技术标签:

【中文标题】在 Swift 3 中解析 JSON 数组【英文标题】:Parsing JSON array in Swift 3 【发布时间】:2016-12-02 18:15:59 【问题描述】:

我正在尝试在不使用外部框架的情况下解析 JSON 文件以在 Swift 3 的表格视图中显示,但我对 Swift 的了解还不够。我看过其他问题,但对我没有任何帮助。问题是在我的 JSON 中有几个嵌套数组。 这是 JSON 文件的示例:

"guides" : [
    
        "name" : "First Guide",
        "sections" : [
            
                "title" : "Controls",
                "data" : [
                    
                        "value" : "controls.PNG",
                        "type" : "image"
                    ,
                    
                        "value" : "Sensitivity:  Changes the sensitivity of the camera when turning.",
                        "type" : "text"
                    ,
                    
                        "value" : "Invert Y-Axis: Toggles inversion of camera when looking up/down.",
                        "type" : "text"
                    ,
                    
                        "value" : "crosshair.PNG",
                        "type" : "image"
                    ,
                    
                        "value" : "Lefty : Toggles the D-pad being on the left/right side of the screen.",
                        "type" : "text"
                    ,
                    
                        "value" : "Swap Jump and Sneak : Chooses whether to swap the position of jump and sneak buttons.",
                        "type" : "text"
                    ,
                    
                        "value" : "Button size - Changes the size of the buttons. Smaller buttons allow extra slots for the hotbar.",
                        "type" : "text"
                    
                ]
            ,
            
                "title" : "User Profile",
                "data" : [
                    
                        "value" : "profile.png",
                        "type" : "image"
                    ,
                    
                        "value" : "Use Cellular Data: Gives the Player the option to use cellular data.",
                        "type" : "text"
                    
                ]
            ,
            
                "title" : "Global Resources",
                "data" : [
                    
                        "value" : "resources.png",
                        "type" : "image"
                    ,

.......

我如何将数据解析为 Swift 数组并使用它在 UITableView 控制器中显示。这个 JSON 中有几个“指南”,我当时只需要显示其中一个。 帮助将不胜感激。提前谢谢你。

【问题讨论】:

现有的解析 JSON 数据的例子数不胜数。请使用显示您实际尝试过的相关代码更新您的问题,并清楚地解释您遇到的问题。 parsing json into an array in swift 3的可能重复 【参考方案1】:

尝试使用以下代码:

let jsonString = "[\"a\",\"b\"]"
        let jsonData = jsonString.data(using: .utf8)! as Data
        do 
            let dataJson = try JSONSerialization.jsonObject(with: jsonData, options: .mutableContainers)
            print(dataJson)
        
        catch 
            print("error getting xml string: \(error)")
        

【讨论】:

以上是关于在 Swift 3 中解析 JSON 数组的主要内容,如果未能解决你的问题,请参考以下文章

swift 3 将 json 数组解析为键值

使用数组根对象在 Swift 中解析 JSON 数组

swift 3中从数组到字典的JSON解析问题

如何在 Swift 中解析 JSON 数组?

解析 json 数组在 swift 中返回空元素

如何使用新的 Swift 3 和 Alamofire 解析 JSON(字典和数组)