繁体   English   中英

SWIFT URLResponse无输出// Google Maps PI

[英]SWIFT URLResponse no output // Google Maps PI

我在SWIFT-XCode中构建了一个小任务,试图在其中获取和打印一些JSON数据,但控制台没有显示任何错误或结果。 也许有人可以帮助我解决这个问题? 这是我的代码:

let url = URL(string: "https://maps.googleapis.com/maps/api/directions/json?origin=\(lat),\(long)&destination=\(lat+auflong),\(long+auflat)&key=**************")
    let task = URLSession.shared.dataTask(with: url!) { (data:Data?, response:URLResponse?, error:Error?) in
        if let data = data {
            do {
                // Convert the data to JSON
                let jsonSerialized = try JSONSerialization.jsonObject(with: data, options: []) as? [String : Any]

                if let json = jsonSerialized, let url = json["url"], let explanation = json["explanation"] {
                    print(url)
                    print(explanation)
                }
            }  catch let error as NSError {
                print(error.localizedDescription)
            }
        } else if let error = error {
            print(error.localizedDescription)
        }
    }
    task.resume()

如果您调试代码,请在调试区域:监视区域中看到结果。

在我的测试中(使用不正确的坐标),当我在以`let jsonSerialized ='...开始的行上放置一个断点时,返回3个字典键:

  • 状态
  • 错误信息
  • 路线

    但是你期待着网址移植 ...

    如果您更改内部内容,例如:

      let jsonSerialized = ... if let json = jsonSerialized { print(json) if let url = json["url"], let explanation = json["explanation"] { print(url) print(explanation) } } } catch ... 

    您将能够打印返回的json (用...替换了一些代码,以便于阅读。)

    我的输出:[“状态”:REQUEST_DENIED,“错误消息”:提供的API密钥无效。,“路由”:<__ NSArray0 0x600000003910>(

    )]

  • 暂无
    暂无

    声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

     
    粤ICP备18138465号  © 2020-2024 STACKOOM.COM