Swift 如何访问第一组阵列?迅捷JSON

Swift 如何访问第一组阵列?迅捷JSON,swift,swifty-json,Swift,Swifty Json,我对SwiftyJSON有问题,我不太理解他们的文档 是的 let jsonArray = JSON(jsonData) let json = jsonArray["Data"] (编辑)如何使用循环获取所有“名称”(仅名称而不是名称中的内容)?就像我想一套一套地打印出来一样 { "Data": { "Jenn": { "Id": "21227", "DOB": "1/1/1989" }, "Kenny": { "Id": "20909", "DOB": "1

我对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[“Emma”]
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)
}

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

这些名称是键
数据的字典中的字典键

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

我发现你的json格式不正确。在解析json数据之前,请验证上的json格式,如果您能够通过jsonviewer成功地格式化jsondata,而不是轻松解析。您好,感谢您指出这一点。刚刚添加了缺少的括号。嗨,谢谢你的回答。我想我问的方式是不正确的。在我完成json=jsonArray[“Data”]之后,它只打印整个内容。到目前为止,我只能通过json[“Data”]获取第一个dict。如何获取json中的第二个dict?如果json包含100+个dict数组会怎么样?如何通过使用循环获得所有这些信息?很抱歉,这听起来很混乱,我正在尽力解释我的问题:/嗨,谢谢你的回答。我想我问的方式是不正确的。在我完成json=jsonArray[“Data”]之后,它只打印整个内容。到目前为止,我只能通过json[“Data”]获取第一个dict。如何获取json中的第二个dict?如果json包含100+个dict数组会怎么样?如何通过使用循环获得所有这些信息?