Я изо всех сил пытаюсь декодировать JSON. Я пытаюсь декодировать свой JSON с помощью
let decodedData = try decoder.decode(Country.self, from: data)
Вот кодируемая структура:
struct CountryData: Codable {
let translations: Name
let capital: String
let currencies: [String]
}
struct Name: Codable {
let fr: String
}
typealias Country = [CountryData]
Вот JSON:
[
{
"name": "Norway",
"topLevelDomain": [
".no"
],
"alpha2Code": "NO",
"alpha3Code": "NOR",
"callingCodes": [
"47"
],
"capital": "Oslo",
"altSpellings": [
"NO",
"Norge",
"Noreg",
"Kingdom of Norway",
"Kongeriket Norge",
"Kongeriket Noreg"
],
"region": "Europe",
"subregion": "Northern Europe",
"population": 5176998,
"latlng": [
62.0,
10.0
],
"demonym": "Norwegian",
"area": 323802.0,
"gini": 25.8,
"timezones": [
"UTC+01:00"
],
"borders": [
"FIN",
"SWE",
"RUS"
],
"nativeName": "Norge",
"numericCode": "578",
"currencies": [
"NOK"
],
"languages": [
"no",
"nb",
"nn"
],
"translations": {
"de": "Norwegen",
"es": "Noruega",
"fr": "Norvège",
"ja": "ノルウェー",
"it": "Norvegia"
},
"relevance": "1.5"
}
]
Ошибка I got:
Decoding error: typeMismatch(Swift.Array<Any>, Swift.DecodingError.Context(codingPath: [], debugDescription: "Expected to decode Array<Any> but found a dictionary instead.", underlyingError: nil))
Я не мог понять, что я сделал не так, я попытался проверить свою структуру с помощью инструмента app.quicktype, но не смог обнаружить никаких проблем. Я новичок в Swift, было бы здорово, если бы кто-нибудь дал мне совет, как решить эту проблему. Спасибо?