使用第三方库数据不是以适当的json格式

时间:2016-09-09 13:16:57

标签: ios swift

我是iOS开发人员的新手。我只是想问一下,当我使用get方法附加第三方库Alamofire数据即将到来但不是以正确的Json形式时,每个身份的键值都为空。 请帮我这里是我的代码:

 let headers = ["Authorization":"","Accept": "application/json"]
 Alamofire.request(.GET,requestString,headers:headers,encoding: .JSON)
            .responseJSON { response in
                print(response)
                print(response.request) 

2 个答案:

答案 0 :(得分:0)

试试这个。

Alamofire.request(.GET, url, parameters: parameter as? [String : AnyObject]).responseJSON { (response: Response<AnyObject, NSError>) in
    if error == nil {
        print(response.result.value)
    }
}

答案 1 :(得分:0)

当您致电responseJSON时,它会为您解析JSON。因此,如果JSON是一个字典数组(如您的其他一个问题所示),那么response.result.value将不包含原始JSON,而是包含数组和字典的嵌套结构。您可以通过展开来检索此数据(例如,使用if letguard let):

Alamofire.request(requestString, headers: headers)
    .responseJSON { response in
        guard let dictionaries = response.result.value as? [[String: AnyObject]] else {
            print(response.result.error)
            return
        }

        // do something with the array of dictionaries, e.g. to show the names

        for dictionary in dictionaries {
            if let name = dictionary["name"] as? String {
                print(name)
            } else {
                print("Name not found")
            }
        }
}