【发布时间】:2019-11-13 17:17:11
【问题描述】:
在 Swift 5.1 中,我想解码包含名为 self 的元素的 JSON 文档。这是一个 HAL 文档,所以我不能更改元素名称。
JSON 是这样的;
{
"_embedded": {
"eventList": [
{
"id": 1,
"datetime": "2020-04-20T20:00:00",
"description": "...",
"_links": {
"self": {
"href": "http://.../events/1"
}
}
},
{
"id": 2,
"datetime": "2020-04-19T08:30:00",
"description": "...",
"_links": {
"self": {
"href": "http://.../events/2"
}
}
}
]
},
"_links": {
"self": {
"href": "http://.../events"
}
}
}
我的领域模型是这样的
struct JSonRootElement: Codable {
var _embedded: JsonEmbedded
}
struct JsonEmbedded: Codable {
var eventList: [JsonEvent]
}
struct JsonEvent: Codable {
var id: Int
var datetime: String
var description: String
var _links: JsonHalLink
}
struct JsonHalLink: Codable {
var self: JsonHalSelfLink
}
struct JsonHalSelfLink: Codable {
var href: String
}
当然,JsonHalLink 结构包含一个禁止名称。我可以重命名变量名,但是如何告诉 Swift 它必须从 JSON 中读取 self 元素?
【问题讨论】: