Если ваша модель данных выглядит следующим образом, вы можете использовать Struct или Class, это не проблема.
struct Root: Decodable {
let returned: Int?
let base: String?
let data: Price?
}
struct Price: Codable {
let TShirtPrice: String?
}
Пример JSON Стинг выглядит следующим образом
let jsonString = """
{
"returned": 1,
"base": "USD",
"data": {
"TShirtPrice": "3.448500"
}
}
"""
Вы просто нужно изменить способ анализа данных путем внесения изменений в модель данных, как указано выше, и способ доступа к данным, как указано ниже
if let data = jsonString.data(using: .utf8) {
let myObject = try JSONDecoder().decode(Root.self, from: data)
print(myObject.data?.TShirtPrice)
}
В вашем случае это будет выглядеть так
if let data = data {
do {
let json = try JSONDecoder().decode(Root.self,from: data)
let Price = json.data?.TShirtPrice
}
}
Что здесь изменилось?
Поскольку ваши ценовые данные были в формате массива, код был написан соответствующим образом, и согласно новым данным он больше не является массивом поэтому вы должны адаптировать эти изменения и на стороне приложения.