如何访问第一组数组? SwiftyJSON

时间:2018-07-27 03:35:43

标签: swift swifty-json

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

我做了

let jsonArray = JSON(jsonData)

let json = jsonArray["Data"]   

(edit)如何使用循环获取所有“名称”(只是名称而不是名称内的内容)?就像我想一张一张地打印出每一组。

{ "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" } 
           } 
 }

对不起,如果您感到困惑。谢谢!!

3 个答案:

答案 0 :(得分:0)

json不是数组,而是字典。  因此,您应该使用json["Emma"]

答案 1 :(得分:0)

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)
}

答案 2 :(得分:0)

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

名称是键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)
}