Вы получаете ошибку, потому что ваши данные содержат массив JSON (также словарь), а не сам JSON.
Так что вы не можете декодировать с помощью
let JSONData = try JSONDecoder().decode(Dollar_Date.self, from: data)
Но у вас естьчтобы сделать это вручную:
РЕДАКТИРОВАТЬ:
guard let json = data as? [[String:Any]] else{return}
Теперь вы можете получить доллары и дату из всех элементов вашего массива:
// These are because you have to access an element of the array
guard let dollar = json[0]["dollar"] as? String else {return}
guard let date = json[0]["date"] as? String else {return}
DispatchQueue.main.async {
self.main_Price.text = dollar
self.data_Label.text = date
}
если ваши данные могут содержать несколько значений (пары «доллар-дата»), вы должны зациклить свой массив.В предыдущем примере вы должны сделать:
for element in json{
guard let dollar = element["dollar"] as? String else {return}
guard let date = element["date"] as? String else {return}
// do some stuff with each value
}