Bonjour à la communauté ! Je galère en m’essayant aux API !
J’aimerais extraire la “formate_address” de ce JSON pour la faire apparaitre sur un label (en mode entrainement):
https://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&key=
voilà ce que je fais dans le view controller :
let requestTest = "https://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&key="
guard let urlRequest = URL(string: requestTest) else { return }
URLSession.shared.dataTask(with: urlRequest) { data, response, error in
if error != nil {
print(error!.localizedDescription)
}
guard let jsonData = data else { return }
let decoder = JSONDecoder()
do {
let resultats = try decoder.decode(ResultsJson.Results.self, from: jsonData)
self.ui_adressLabel.text = resultats.formatted_address
} catch let jsonError {
print(jsonError)
}
}.resume()
Et dans un autre fichier swift la structure :
struct ResultsJson: Codable {
let results:[Results]
let status:String
struct Results: Codable {
let address_components:[AddressComponents]
let formatted_address:String
let geometry:Geometry
let place_id:String
let types:String
struct AddressComponents: Codable {
let long_name:String
let short_name:String
let types: [String]
}
struct Geometry: Codable {
let bounds:BoundsOrViewport
let location:Location
let location_type:String
let viewport:BoundsOrViewport
struct Location: Codable {
let lat:Float
let lng:Float
}
struct BoundsOrViewport: Codable {
let northeast:Location
let southest:Location
}
}
}
}
et voilà l’erreur :
CodingKeys in _F1EC8C7B495EEA52EBEE1EAAF2933887).address_components, Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key address_components (“address_components”)
Je remercie par avance le master Ken qui aura la solution, déjà des jours que je lis tous les tutos avec mon anglais modéré, et naturellement j’en chie.
Cordialement
SC