如何访问第一组数组? SwiftyJSON

Posted

技术标签:

【中文标题】如何访问第一组数组? SwiftyJSON【英文标题】:How to access the first set of array? SwiftyJSON 【发布时间】:2018-07-27 03:35:43 【问题描述】:

我在使用 SwiftyJSON 时遇到了问题,我不太了解他们的文档。

我做到了

let jsonArray = JSON(jsonData)

let json = jsonArray["Data"]   

(编辑)如何使用循环获取所有“名称”(只是名称而不是名称中的内容)?就像我想把每一组都打印出来一样。

 "Data":  "Jenn":  "Id": "21227", "DOB": "1/1/1989" , 
            "Kenny":  "Id": "20909", "DOB": "1/10/1989" , 
            "Lisa":  "Id": "28223", "DOB": "11/1/1980" , 
            "John":  "Id": "29462", "DOB": "2/7/1991" , 
            "Emma":  "Id": "3744", "DOB": "10/7/2000" , 
            "David":  "Id": "3748", "DOB": "4/9/1980" , 
            "Tim":  "Id": "1182", "DOB": "5/5/1999" , 
            "Joan":  "Id": "7605", "DOB": "6/12/1995" , 
            "Jack":  "Id": "3808", "DOB": "3/20/1990"  
            
 

如果看起来令人困惑,我很抱歉。谢谢!!

【问题讨论】:

因为我得到你的 json 格式不正确。在解析 json 数据之前,请在 jsonviewer.stack.hu 上验证 json 格式,如果您能够通过 jsonviewer 成功格式化 jsondata,那么它可以很容易地解析。 您好,感谢您的指出。刚刚添加了缺少的括号。 【参考方案1】:

首先根对象是字典,不是数组,请注意大括号()。

名称是字典中键 Data 的字典键

do 
    let jsonDictionary = try JSON(data: data)
    if let data = jsonDictionary["Data"].dictionary 
        let names = data.keys
        for name in names 
            print(name)
        
    
 catch 
    print(error)

【讨论】:

【参考方案2】:

json 不是数组而是字典。 所以你应该使用json["Emma"]

【讨论】:

您好,感谢您的回答。我认为我问的方式是不正确的。在我完成 json = jsonArray["Data"] 之后,它只会打印整个内容。到目前为止,我只能通过 json["Data"].first 获得第一个字典。如何获得 json 中的第二个字典?如果 json 包含 100+ 的字典数组怎么办?我如何使用循环来获得所有这些?【参考方案3】:

json是Dic,你可以这样使用:

//using key to get sub data
let dic = json["Emma"]
//get keys array
let names = json.keys;
if let firstname = names.first
    print(firstname)

【讨论】:

您好,感谢您的回答。我认为我问的方式是不正确的。在我完成 json = jsonArray["Data"] 之后,它只会打印整个内容。到目前为止,我只能通过 json["Data"].first 获得第一个字典。如何获得 json 中的第二个字典?如果 json 包含 100+ 的字典数组怎么办?我如何通过使用循环来获得所有这些?很抱歉,这听起来真的很令人困惑,我正在尽力解释我在问什么:/

以上是关于如何访问第一组数组? SwiftyJSON的主要内容,如果未能解决你的问题,请参考以下文章

如何从 SwiftyJSON 对象数组中搜索?

如何在我的 Swift XCode 应用程序上设置 SwiftyJSON?

如何过滤嵌套的 SwiftyJSON 数组

如何从 JSON 数组 SwiftyJSON 中获取数据?

如何使用 SwiftyJSON 获取字符串元素数组?

如何使用 SwiftyJSON(在 Swift 中)基于 JSON 对象数组创建对象数组?