Это вопрос, связанный с дизайном модели, связанный с кодируемой функциональностью JSONDecoder на swift.
У меня есть следующий JSON:
"author": {
"name": "abc",
"emailAddress": "[email protected]",
"id": 8665,
"displayName": "A B C",
"active": true,
"slug": "abc",
"type": "NORMAL",
"links": {
"self": [
{
"href": "some_href"
}
]
}
}
Я пытаюсь расшифровать это, используя новую функциональность Swift 4 Codeable.
Следовательно, я создал свою структуру следующим образом:
struct Author: Codeable {
let name: String,
let emailAddress: String,
let id: String,
let displayName: String,
let active: String,
let type: String,
let links: [String: [Link]]
}
struct Link: Codeable {
let href: String
}
После запуска JSONDecoder (). Decode на этом json я получаю объекты модели в указанном выше формате. Однако свойство ссылок в классе Author получается в виде словаря. А теперь, чтобы получить доступ к значению поля self, мне нужно сделать примерно следующее:
let selfLink = author.links["self"]
let href = selfLink[0].href
Есть ли лучший способ смоделировать структуру, чтобы этого можно было избежать?