从“数据”投射?到不相关的类型'[String:Any]'总是失败

时间:2018-09-19 10:39:01

标签: swift4 alamofire xcode9

  

从“数据”投射?无关类型“ [String:Any]”总是失败

在这里,我正在尝试从Api获取响应,并且是第一次使用alamofire,但我已经超出警告范围,请帮帮我

guard let json = response.result.value as? [String: Any] else {
    print("Didn't get todo object as JSON from API")
    if let error = response.result.error {
        print("Error: \(error)")
    }
    return
}

如果有什么需要帮助,我该怎么办?

2 个答案:

答案 0 :(得分:0)

您需要进行的更改在上方一行。

您必须告诉请求获取反序列化的响应,而不是原始的Data

Alamofire.request( [...] ).responseJSON {

答案 1 :(得分:0)

如果您的response.result.value是JSON数据,则可以通过以下方式获取它:

guard let jsonData = response.result.value {
    let responseObj = try? JSONSerialization.jsonObject(with: jsonData, options: [])
    if let response = responseObj as? [String: Any] { print(response) }
}