2017-09-22 1 views
0

Je veux analyser un JSON avec Alamofire et SwiftyJSON.Comment utiliser les objets JSON de la racine dans UIViewController avec Alamofire et SwiftyJSON

JSON à analyser:

{ 
    "args": {}, 
    "headers": { 
    "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8", 
    "Accept-Encoding": "gzip, deflate", 
    "Accept-Language": "en-GB,en-US;q=0.8,en;q=0.6", 
    "Connection": "close", 
    "Cookie": "_gauges_unique_month=1; _gauges_unique_year=1; _gauges_unique=1", 
    "Host": "httpbin.org", 
    "Upgrade-Insecure-Requests": "1", 
    "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36" 
    }, 
    "origin": "150.107.254.75", 
    "url": "http://httpbin.org/get" 
} 

Je peux accéder aux 'args', mais je ne peux pas accéder à la 'Accept-Encoding' dans mes UIViewController « s UILabel

Ce que je suis en train de coder :

let Endpoint: String = "http://httpbin.org/get" 
    Alamofire.request(Endpoint).responseJSON { response in 
    if let json = response.result.value as? Array<Dictionary<String,Any>> { 
     self.arrRes = json as [[String:AnyObject]]  
    } 
    } 

Je veux utiliser 'têtes' dans mes UIViewController « s UILabel.

+1

L'objet racine est pas un tableau. – vadian

Répondre

0

Vous essayez de lancer le JSON à un tableau, mais il est un dictionnaire, essayez ceci:

let endpoint: String = "http://httpbin.org/get" 
Alamofire.request(endpoint).responseJSON { response in 
    if let json = response.result.value as? [String:Any], 
    let headers = json["headers"] as? [String:Any] { 

    self.label.text = headers["Accept-Encoding"] as? String 
    } 
} 
+0

Merci beaucoup cela a fonctionné –

+0

Aussi, les variables en début rapide avec des minuscules – Fantini