【发布时间】:2016-08-11 18:37:49
【问题描述】:
JSON:
{
"11/08/22":[
{
"Bill Gates":"Microsoft",
"Steve Balmer":"Microsoft"
}],
"13/08/22":[
{
"Tim Cook":"Apple",
"Jony Ive":"Apple"
}]
}
Swift 代码:
let jsonQuery = urlSession.dataTaskWithURL(url, completionHandler: { data, response, error -> Void in
do {
if let jsonDate = data, let jsonResult = try NSJSONSerialization.JSONObjectWithData(jsonDate, options: []) as? NSDictionary {
print(jsonResult)
//Get Result into Seperate Arrays
let keys = jsonResult.flatMap(){ $0.0 as? String }
let values = jsonResult.flatMap(){ $0.1 as? String }
}
} catch let error as NSError {
print(error)
}
})
jsonQuery.resume()
要求:
如果我从程序 “11/08/22” 传递,我应该能够以 Array of String 的形式获取所有键和值数组名为 "11/08/22"。
更好的解释:
它应该进入 11/08/22,它应该检索“Bill Gates”、“Steve Balmer”作为键和“Microsoft”作为两个单独数组中的值
【问题讨论】:
-
可以看到,您的 JSON 在键
"11/08/22"中包含一个字典数组。您希望从哪里得到一个字符串数组? -
给定输入
"11/08/22",您想要的字符串输出(确切地说)是什么样的? -
你试过
jsonResult("11/08/22").flatMap(){ $0.0 as? String }吗? -
我想要像“比尔盖茨”“史蒂夫巴尔默”这样的名字数组和像“微软”这样的不同公司数组
-
@Santosh 不起作用非函数类型'NSDictionary'的调用值