在Swift中获取API数据

时间:2017-09-30 11:50:45

标签: json swift xcode api

我正在尝试从地址https://api.coinmarketcap.com/v1/ticker/bitcoin/?convert=AUD

的API获取一些数据

我在Xcode中开始了一个新游乐场,我的代码如下

<!DOCTYPE html>
  <html lang="en">
    <head>
      <meta charset="UTF-8">
      <title>Document</title>
    </head>
    <body>
      <script src="/bundle.js"></script>
    </body>
  </html>

但是操场上没有结果。我对Swift很新,所以一些语法可能有些偏差。任何人都可以提出如何获取API地址获得的信息的建议吗? 谢谢!

1 个答案:

答案 0 :(得分:1)

您需要导入PlaygroundSupport并将needsIndefiniteExecution设置为true 此外,您在代码中有一些错误,因为结果是数组,您将它转换为字典[String:Any] 使用以下代码:

import UIKit
import PlaygroundSupport

PlaygroundPage.current.needsIndefiniteExecution = true

let urlString = "https://api.coinmarketcap.com/v1/ticker/bitcoin/?convert=AUD"

let url = URL(string: urlString)
URLSession.shared.dataTask(with:url!) { (data, response, error) in
    if error != nil {
        print(error!.localizedDescription)
    } else {
        do {

            let parsedData = try JSONSerialization.jsonObject(with: data!) as! [[String : Any]]
            for item in parsedData
            {
                let id = item["id"] as! String
                print(id)
            }

        } catch let error as NSError {
            print(error.localizedDescription)
        }
    }

    }.resume()