簡體   English   中英

如何使用Swift 4和Alamofire從API抓取數據

[英]How to grab data from an API using Swift 4 and Alamofire

我正在嘗試從沒有文檔的API獲取數據。

我的代碼是

let URL_MAIN = "http://evarsity.srmuniv.ac.in/srmswi/usermanager/youLogin.jsp"
let URL_ATTENDANCE = "http://evarsity.srmuniv.ac.in/srmswi/resource/StudentDetailsResources.jsp?resourceid=7"
let URL_TIMETABLE = "http://evarsity.srmuniv.ac.in/srmswi/resource/StudentDetailsResources.jsp?resourceid=5"

func getData(url: String) {

    Alamofire.request(url, method: .get)
        .responseData { response in
            if response.result.isSuccess {

                print("Sucess! Got the data")

                guard let data = response.result.value else { return }

                print(data)



            } else {
                print("Error: \(String(describing: response.result.error))")

            }
}

我得到的響應為51406字節。 我需要獲取JSON或其他格式的實際數據。 這是python的api鏈接

https://github.com/arjunmahishi/srm-erp-api/blob/master/erp.py

使用下面提供的功能將您的responseData轉換為字典,然后相應地解析數據。這里,我以字典的形式獲取JSON響應。

let strResponse = "\(responseString.value!)"
let arr = strResponse.components(separatedBy: "\n")
let dict =  convertStringToDictionary(str:(arr.last  ?? "")!) 
self.Message = dict?["message"] as! String
let responseStatus = dict?["status"] as! NSString


public func convertStringToDictionary(str:String) -> [String: Any]? {
    if let data = str.data(using: .utf8) {
        do {
            return try JSONSerialization.jsonObject(with: data, options: []) as? [String: Any]
        } catch {
            print(error.localizedDescription)
        }
    }
    return nil
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM