Проблема с декодированием JSON [дубликат]IOS

Программируем под IOS
Anonymous
Проблема с декодированием JSON [дубликат]

Сообщение Anonymous »

У меня есть образец JSON, который я пытаюсь декодировать в модели в своем Swift. Но он продолжает давать сбой и выдает ошибку:

Код: Выделить всё

Fatal error: 'try!' expression unexpectedly raised an error: Swift.DecodingError.typeMismatch(Swift.Array, Swift.DecodingError.Context(codingPath: [],
debugDescription: "Expected to decode Array but found a dictionary instead.", underlyingError: nil))

Код: Выделить всё

struct HTTPClient {

func fetchMessages() async throws -> [MessageType: [Message]] {
let (data, _) = try await URLSession.shared.data(from: Constants.Urls.Messages)
return try JSONDecoder().decode([MessageType: [Message]].self, from: data)
}

}

enum MessageType: String, CaseIterable, Codable {
case onBudgetCreated = "onBudgetCreated"
}

struct Message: Decodable {
let title: String
let text: String
let image: URL
}
Вот JSON, который я декодирую:

Код: Выделить всё

{
"onBudgetCreated": [
{
"title": "You Made a Budget?",
"text": "Some text.",
"image": "https://example.com/images/someimage.png"
},
{
"title": "Good work",
"text": "something here",
"image": "https://example.com/images/someimage.png"
}
]
}
Что я делаю не так?


Подробнее здесь: https://stackoverflow.com/questions/798 ... ding-issue

Вернуться в «IOS»