在 swift 2.3 中解析 Json 时出错
Error while parsing Json in swift 2.3
我正在尝试解析这个 NSDictionary
{"fare":{"value":99.03,"fare_id":"12313545861568689494880005558558852","expires_at":1485864494,"display":"\u20b999.03","currency_code":"INR"},"trip":{"distance_unit":"mile","duration_estimate":720,"distance_estimate":2.76},"pickup_estimate":2}
我的代码是:
if let statusesArray = try? NSJSONSerialization.JSONObjectWithData(data!, options: []) as? [[String: Any]],
let user = statusesArray![0]["fare"] as? [String: Any],
let username = user["fare_id"] as? String {
// Finally we got the username
}
else
{
print("DONE")
}
但我没有得到价值票价 ID。事实上它从 else 语句打印 "DONE" 。我尝试使用苹果的处理数据的文档,但同样的错误仍然存在。
您的 JSON
响应是 Dictionary
而不是 Array
,因此将其类型转换为 [String:AnyObject]
,然后从嵌套的 fare
中获取 fare_id
] 词典.
if let dict = (try? NSJSONSerialization.JSONObjectWithData(data!, options: [])) as? [String: AnyObject],
let fareDict = dict["fare"] as? [String:AnyObject]
let username = fareDict["fare_id"] as? String {
print(username)
}
我正在尝试解析这个 NSDictionary
{"fare":{"value":99.03,"fare_id":"12313545861568689494880005558558852","expires_at":1485864494,"display":"\u20b999.03","currency_code":"INR"},"trip":{"distance_unit":"mile","duration_estimate":720,"distance_estimate":2.76},"pickup_estimate":2}
我的代码是:
if let statusesArray = try? NSJSONSerialization.JSONObjectWithData(data!, options: []) as? [[String: Any]],
let user = statusesArray![0]["fare"] as? [String: Any],
let username = user["fare_id"] as? String {
// Finally we got the username
}
else
{
print("DONE")
}
但我没有得到价值票价 ID。事实上它从 else 语句打印 "DONE" 。我尝试使用苹果的处理数据的文档,但同样的错误仍然存在。
您的 JSON
响应是 Dictionary
而不是 Array
,因此将其类型转换为 [String:AnyObject]
,然后从嵌套的 fare
中获取 fare_id
] 词典.
if let dict = (try? NSJSONSerialization.JSONObjectWithData(data!, options: [])) as? [String: AnyObject],
let fareDict = dict["fare"] as? [String:AnyObject]
let username = fareDict["fare_id"] as? String {
print(username)
}