Ваша структура предполагает следующую структуру JSON:
{
"product_name_en": "Coca Cola"
}
, тогда как на самом деле интересующие вас данные обернуты в другой объект:
{
"product": {
"product_name_en": "Coca Cola"
}
}
Как правило, вы ' Чтобы решить эту проблему, определите другую промежуточную структуру:
struct Product: Decodable {
var product_name_en: String
}
struct ProductWrapper: Decodable {
var product: Product
}
, а затем декодируйте ее в вашей функции parseFunc
:
let decoded = try decoder.decode(ProductWrapper.self, from: inputData)
let product = decoded.product
Существуют и другие способы обойти эту проблему, посмотрите Раздел "Работа с ключами обтекания объектов" этого замечательного руководства .