如何访问第一组数组? 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的主要内容,如果未能解决你的问题,请参考以下文章