У меня есть следующая структура JSON
:
{
"base": "USD",
"date": "2020-04-24",
"rates": {
"CAD": 1.4049074074,
"EUR": 0.9259259259
}
}
Я бы хотел разобрать ее в классе и сохранить в Core Data
:
class CurrencyRate: NSManagedObject, Decodable {
enum CodingKeys: String, CodingKey {
case base
case date
case rates
}
@NSManaged public var base: String
@NSManaged public var date: Date
@NSManaged public var rates: [String:Double]
required convenience init(from decoder: Decoder) throws {
...
}
Из чего Я читаю для того, чтобы сохранить поле rates
в Базовых данных, мне нужно создать другую сущность, подобную этой, и создать отношение один ко многим:
class SubCurrencyRate: NSManagedObject, Decodable {
enum CodingKeys: String, CodingKey {
case currency
case rate
}
@NSManaged public var currency: String
@NSManaged public var rate: Double
required convenience init(from decoder: Decoder) throws {
...
}
И поле rates
в CurrencyRate
класс будет: @NSManaged public var rates: [SubCurrencyRate]
Проблема в том, что я не знаю, как разобрать вложенные json с динамическими c ключами в эти классы. Как это можно сделать?
И как вообще я могу декодировать эту часть JSON:
"rates": {
"CAD": 1.4049074074,
"EUR": 0.9259259259
}
в множество SubCurrencyRate
объектов?