Bonjour à tous,
J’essaye de connecter l’API Google Translate
J’ai un souci avec mon appel réseau. Je ne sais pas comment récupérer ma valeur de retour depuis mon Model.
Mon fichier JSON ressemble à ça :
{
"data": {
"translations": [
{
"translatedText": "Accueil",
"detectedSourceLanguage": "en"
}
]
}
}
Je ne sais pas si mon modèle doit ressembler à ça :
struct TranslationAPIResult: Decodable {
let data : Data
}
struct Data {
var translations:[Translation]
}
struct Translation {
var translatedText:[String:String]
}
OU
struct TranslationAPIResult :Decodable {
struct Welcome {
let data: DataClass
}
struct DataClass {
let translations: [Translation]
}
struct Translation {
let translatedText, detectedSourceLanguage: String
}
}
En fait ce qu’il se passe c’est que je sais récupérer la valeur dans mon controller quand la structure est simple.
Model :
ex : struct CurrencyCountryListResult: Decodable {
let symbols: [String:String]
}
ViewController :
let currencyApiService = CurrencyAPIService()
var currencyList = [String]()
func requestCountryList(){
print("load country list")
currencyApiService.getListCurrencies{(success, symbols) in
if success {
print("load country list")
guard let symbols = symbols else {return}
for (i, value) in symbols.symbols {
self.currencyList.append(i)
}
} else {
print("not load country list")
}
}
}
Pouvez vous m’aider pour des structures plus complexes ? Merci d’avance pour votre aide