【发布时间】:2016-09-30 16:53:14
【问题描述】:
我有这个由dataTaskWithRequest下载的json对象,我下载它并像这样序列化它:
let json = try NSJSONSerialization.JSONObjectWithData(data, options: .AllowFragments) as? [String:AnyObject]
completion(json)
那么完成看起来像这样:
(let json) in
if let dict = JSON{
completion(dict)
}
最后的完成是这样的:
(let response) in
dispatch_async(dispatch_get_main_queue()){
if let resp = response{
if resp["status"] as? Int == 0{
let user = resp["user"]
if let dict = user{
print(dict)
}
}
}
}
问题是,它返回的对象是这样的:
{"created": "2016-06-01T10:49:54.096000",
"data_source": "1",
"display_name": "My Name",
"email": "Some@string.com",
"fb_id": "",
"first_name": "My",
"gender": "0",
"google_id": "",
"id": "SomeId",
"last_name": "Name",
"phone": "Number",
"updated": "2016-06-01T10:49:54.096000"}
当我尝试在 [String:AnyObject] 中转换此对象时,它返回 nil,我无法从最后一个对象中获取值,谁能帮我解决这个问题,我一直在尝试这样做4小时没搞定
【问题讨论】:
-
你在第 1 步得到 nil 吗?
-
如果让 dict = user as? [字符串:任何对象]
-
把用户的真实打印出来可能有帮助
-
这是用户的真实打印
-
这个打印像一个字符串而不是一个字典,如果它是一个字典可能打印看起来像 { "key" = "value" }
标签: json swift object dictionary response