Я хочу преобразовать довольно сложную строку json в быструю структуру, но API использует кучу ключей-оболочек, которые я не уверен, что структурирую в swift:
JSON
{
"title": "this is a title",
"children": {
"attachment": {
"results": [
{
"id": "att241845336",
"metadata": {
"mediaType": "application/vnd.ms-excel.sheet.macroEnabled.12"
},
"extensions": {
"fileSize": 430395,
}
},
{
"id": "att241844542",
"metadata": {
"mediaType": "image/png"
},
"extensions": {
"fileSize": 114781,
}
}
],
"size": 25,
},
"_links": {
"self": "https://example.com/rest/api/content/241845389/child"
},
"_expandable": {
"comment": "/rest/api/content/241845389/child/comment",
"page": "/rest/api/content/241845389/child/page"
}
},
"_links": {
"collection": "/rest/api/content",
}
}
Я попробовал что-то подобное, но я думаю, что мне нужно придумать что-то, чтобы избежать наличия в моей структуре переменных типа «ссылка» дважды ... Я также не уверен, правильно ли я сделал перенос:
swift4
struct MetaMessage : Codable {
struct Message : Codable {
let title: String
let children: [child]
let _links: [link]
}
struct child {
let attachment: [attachments]
let _links: [link]
let _expandable: [expandables]
}
struct attachments {
let results: [result]
let size: int
}
struct result {
let id: String
let metadata: [metadataSub]
let extensions: [extension]
}
struct metadataSub {
let mediaType: Sting
}
struct extension {
let fileSize: Long
}
struct link {
let self: URL
}
struct expandables {
let comment: String
let page: String
}
struct expandables {
let collection: String
}
}