【发布时间】:2017-12-30 08:33:14
【问题描述】:
在 swift 3 方面需要帮助。我得到了
无法将字符串类型的值转换为预期的参数类型字符串
func authKMA(text: String) {
let base = "http://api.kma1.biz/?method=auth"
let userlogin = "&username=vostok3r@gmail.com"
let userpass = "&pass=0000"
_ = ""
_ = ""
let auth = base + userlogin + userpass
let url = URL(string: auth)!
URLSession.shared.dataTask(with: url) { (data, _, _) in
guard let gotdata = data else {
print("Сервер не отвечает")
return
}
guard let jsonAny = try? JSONSerialization.jsonObject(with: gotdata, options: []) else {
print("Сервер не дал информацию по аккаунту")
return
}
guard let json = jsonAny as? [String: Any] else {
return
}
guard let authhasher = json.index(of: "authhash") else {
return
//ERROR: cannot convert value of type string to expected argument type string//
}
print(authhasher)
}.resume()
}
}
【问题讨论】:
-
这似乎是一个奇怪的错误,但
Dictionary没有方法index(of:),所以该行不应该工作。您想使用let authhasher = json.index(of: "authhash")实现什么目标? -
@DávidPásztor 我只是一个新手并试图从 json 数组中获取“authhash”值。
-
@LeonKazakov 是字典,而不是数组。您可以按照他的回答中提到的 toddg 访问“authhash”。
标签: swift string type-conversion