Utilice Swift Codable para decodificar JSON con valores como claves
Tengo un problema para decodificar una estructura JSON que no puedo cambiar para que sea más fácil decodificar (proviene de firebase) ..
¿Cómo decodifico el siguiente JSON en objetos? El problema es cómo convertir "7E7-M001". Es el nombre de un contenedor que tiene cajones. El nombre de los cajones también se usa como clave.
{
"7E7-M001" : {
"Drawer1" : {
"101" : {
"Partnumber" : "F101"
},
"102" : {
"Partnumber" : "F121"
}
}
},
"7E7-M002": {
"Drawer1": {
"201": {
"Partnumber": "F201"
},
"202": {
"Partnumber": "F221"
}
}
}
}
¿Qué debo arreglar en la clase Contenedor y cajón para tener la clave como propiedad de título y una matriz de objetos en estas clases?
class Container: Codable {
var title: String
var drawers: [Drawer]
}
class Drawer: Codable {
var title: String
var tools: [Tool]
}
class Tool: Codable {
var title: String
var partNumber: String
enum CodingKeys: String, CodingKey {
case partNumber = "Partnumber"
}
}