首页 > 解决方案 > 使用 json 的一部分进行快速解码

问题描述

我只想在 Swift 中使用或不使用解码器解码 json 字符串的一部分。我的 API 响应是

{
        "title": "Recent Uploads tagged kitten",
        "link": "https:\/\/www.flickr.com\/photos\/tags\/kitten\/",
        "description": "",
        "modified": "2020-06-29T11:11:29Z",
        "generator": "https:\/\/www.flickr.com",
        "items": [
       {
            "title": "Sur le qui-vive, mais pas trop ...",
            "link": "https:\/\/www.flickr.com\/photos\/nf39\/50057255053\/",
            "media": {"m":"https:\/\/live.staticflickr.com\/65535\/50057255053_dccf68d9ee_m.jpg"},
            "date_taken": "2020-06-20T17:40:34-08:00",
            "description": " <p><a href=\"https:\/\/www.flickr.com\/people\/nf39\/\">Titole<\/a> posted a photo:<\/p> <p><a href=\"https:\/\/www.flickr.com\/photos\/nf39\/50057255053\/\" title=\"Sur le qui-vive, mais pas trop ...\"><img src=\"https:\/\/live.staticflickr.com\/65535\/50057255053_dccf68d9ee_m.jpg\" width=\"240\" height=\"240\" alt=\"Sur le qui-vive, mais pas trop ...\" \/><\/a><\/p> <p>\u201cCelui qui a confiance en lui m\u00e8nera les autres.\u201d<br \/> Horace<br \/> <br \/> <b>Thank you very much for your comments and for your faves.<\/b><br \/> (Please do not use without my written permission.)<\/p>",
            "published": "2020-06-29T11:11:29Z",
            "author": "nobody@flickr.com (\"Titole\")",
            "author_id": "46348076@N08",
            "tags": "kitten cat gatto katze kat gato titole nicolefaton squareformat grey"
       },
       {
            "title": "baby cat",
            "link": "https:\/\/www.flickr.com\/photos\/dimitra_daby\/50057281506\/",
            "media": {"m":"https:\/\/live.staticflickr.com\/65535\/50057281506_ba2bb9ba16_m.jpg"},
            "date_taken": "2020-06-29T10:05:21-08:00",
            "description": " <p><a href=\"https:\/\/www.flickr.com\/people\/dimitra_daby\/\">Love me tender \u266a\u00b8.\u2022*\u00b4\u00a8\u00b4\u00a8*\u2022.\u266a\u00b8.\u2022*\u00b4<\/a> posted a photo:<\/p> <p><a href=\"https:\/\/www.flickr.com\/photos\/dimitra_daby\/50057281506\/\" title=\"baby cat\"><img src=\"https:\/\/live.staticflickr.com\/65535\/50057281506_ba2bb9ba16_m.jpg\" width=\"240\" height=\"160\" alt=\"baby cat\" \/><\/a><\/p> ",
            "published": "2020-06-29T07:06:20Z",
            "author": "nobody@flickr.com (\"Love me tender \u266a\u00b8.\u2022*\u00b4\u00a8\u00b4\u00a8*\u2022.\u266a\u00b8.\u2022*\u00b4\")",
            "author_id": "67833313@N08",
            "tags": "cat animals white kitten minimal mikrolimano piraeus greece dimitrakirgiannaki photography nikond3100 nature brown"
       },
       {
            "title": "baby cat",
            "link": "https:\/\/www.flickr.com\/photos\/dimitra_daby\/50057527087\/",
            "media": {"m":"https:\/\/live.staticflickr.com\/65535\/50057527087_40eee01398_m.jpg"},
            "date_taken": "2020-06-29T10:05:21-08:00",
            "description": " <p><a href=\"https:\/\/www.flickr.com\/people\/dimitra_daby\/\">Love me tender \u266a\u00b8.\u2022*\u00b4\u00a8\u00b4\u00a8*\u2022.\u266a\u00b8.\u2022*\u00b4<\/a> posted a photo:<\/p> <p><a href=\"https:\/\/www.flickr.com\/photos\/dimitra_daby\/50057527087\/\" title=\"baby cat\"><img src=\"https:\/\/live.staticflickr.com\/65535\/50057527087_40eee01398_m.jpg\" width=\"240\" height=\"160\" alt=\"baby cat\" \/><\/a><\/p> ",
            "published": "2020-06-29T07:06:19Z",
            "author": "nobody@flickr.com (\"Love me tender \u266a\u00b8.\u2022*\u00b4\u00a8\u00b4\u00a8*\u2022.\u266a\u00b8.\u2022*\u00b4\")",
            "author_id": "67833313@N08",
            "tags": "cat animals white kitten minimal mikrolimano piraeus greece dimitrakirgiannaki photography nikond3100 nature blackandwhite"
       },
       {
            "title": "Mom with her kitty \ud83d\udc9e",
            "link": "https:\/\/www.flickr.com\/photos\/andrea_yoly\/50057233161\/",
            "media": {"m":"https:\/\/live.staticflickr.com\/65535\/50057233161_4fcb9429e1_m.jpg"},
            "date_taken": "2020-06-14T07:50:11-08:00",
            "description": " <p><a href=\"https:\/\/www.flickr.com\/people\/andrea_yoly\/\">En memoria de Zarpazos, mi valiente y mimoso tigre<\/a> posted a photo:<\/p> <p><a href=\"https:\/\/www.flickr.com\/photos\/andrea_yoly\/50057233161\/\" title=\"Mom with her kitty \ud83d\udc9e\"><img src=\"https:\/\/live.staticflickr.com\/65535\/50057233161_4fcb9429e1_m.jpg\" width=\"240\" height=\"156\" alt=\"Mom with her kitty \ud83d\udc9e\" \/><\/a><\/p> <p>Mam\u00e1 con su gatito \ud83d\udc9e<\/p>",
            "published": "2020-06-29T06:47:59Z",
            "author": "nobody@flickr.com (\"En memoria de Zarpazos, mi valiente y mimoso tigre\")",
            "author_id": "38941615@N02",
            "tags": "blackcat tabbykitten catbreastfeeding cats kitten love motherandson"
       },
       {
            "title": "A Cat in the Hand is Worth . . .",
            "link": "https:\/\/www.flickr.com\/photos\/bkhagar_gallery\/50056346628\/",
            "media": {"m":"https:\/\/live.staticflickr.com\/65535\/50056346628_6c24fcca5c_m.jpg"},
            "date_taken": "2020-04-22T17:29:06-08:00",
            "description": " <p><a href=\"https:\/\/www.flickr.com\/people\/bkhagar_gallery\/\">BKHagar *Kim*<\/a> posted a photo:<\/p> <p><a href=\"https:\/\/www.flickr.com\/photos\/bkhagar_gallery\/50056346628\/\" title=\"A Cat in the Hand is Worth . . .\"><img src=\"https:\/\/live.staticflickr.com\/65535\/50056346628_6c24fcca5c_m.jpg\" width=\"191\" height=\"240\" alt=\"A Cat in the Hand is Worth . . .\" \/><\/a><\/p> <p>Well, you can draw your own conclusions. We LOVE our cats! LOL! :)<\/p>",
            "published": "2020-06-29T04:16:07Z",
            "author": "nobody@flickr.com (\"BKHagar *Kim*\")",
            "author_id": "34106278@N04",
            "tags": "bkhagar cat kitty kitten hand porcelain"
       },
       {
            "title": "My baby Kitten \"Kiki\"",
            "link": "https:\/\/www.flickr.com\/photos\/188970647@N05\/50056784831\/",
            "media": {"m":"https:\/\/live.staticflickr.com\/65535\/50056784831_db1436196b_m.jpg"},
            "date_taken": "2020-02-19T22:56:53-08:00",
            "description": " <p><a href=\"https:\/\/www.flickr.com\/people\/188970647@N05\/\">arel.in<\/a> posted a photo:<\/p> <p><a href=\"https:\/\/www.flickr.com\/photos\/188970647@N05\/50056784831\/\" title=\"My baby Kitten &quot;Kiki&quot;\"><img src=\"https:\/\/live.staticflickr.com\/65535\/50056784831_db1436196b_m.jpg\" width=\"180\" height=\"240\" alt=\"My baby Kitten &quot;Kiki&quot;\" \/><\/a><\/p> <p>smart<\/p>",
            "published": "2020-06-29T03:15:26Z",
            "author": "nobody@flickr.com (\"arel.in\")",
            "author_id": "188970647@N05",
            "tags": "animals kitten"
       },
       {
            "title": "Tiny Jane",
            "link": "https:\/\/www.flickr.com\/photos\/14461370@N03\/50055707913\/",
            "media": {"m":"https:\/\/live.staticflickr.com\/65535\/50055707913_d590433c3a_m.jpg"},
            "date_taken": "2020-06-28T18:12:41-08:00",
            "description": " <p><a href=\"https:\/\/www.flickr.com\/people\/14461370@N03\/\">zimwizdotcom<\/a> posted a photo:<\/p> <p><a href=\"https:\/\/www.flickr.com\/photos\/14461370@N03\/50055707913\/\" title=\"Tiny Jane\"><img src=\"https:\/\/live.staticflickr.com\/65535\/50055707913_d590433c3a_m.jpg\" width=\"240\" height=\"160\" alt=\"Tiny Jane\" \/><\/a><\/p> <p>It seems my little Jane will forever stay tiny. Malnourished after being abandoned I suspect it stunted her growth when she was developing. But it hasn't slowed her down as she can run faster than any animal her size. And she has more love than so many animals much, much bigger than her.<br \/> <br \/> 20mm f\/3.5 Nikkor-UD @ f\/3.5 (wide open)<\/p>",
            "published": "2020-06-29T00:01:52Z",
            "author": "nobody@flickr.com (\"zimwizdotcom\")",
            "author_id": "14461370@N03",
            "tags": "20mmf35nikkorud 20mm 20mf35 nikkor nikkorud cat jane kitten smallcat dirtywindow"
       },
       {
            "title": "Kitten \u5b50\u732b",
            "link": "https:\/\/www.flickr.com\/photos\/eriko-japan\/50056316582\/",
            "media": {"m":"https:\/\/live.staticflickr.com\/65535\/50056316582_4e492c0ea6_m.jpg"},
            "date_taken": "2020-06-25T13:21:06-08:00",
            "description": " <p><a href=\"https:\/\/www.flickr.com\/people\/eriko-japan\/\">eriko_jpn<\/a> posted a photo:<\/p> <p><a href=\"https:\/\/www.flickr.com\/photos\/eriko-japan\/50056316582\/\" title=\"Kitten \u5b50\u732b\"><img src=\"https:\/\/live.staticflickr.com\/65535\/50056316582_4e492c0ea6_m.jpg\" width=\"240\" height=\"180\" alt=\"Kitten \u5b50\u732b\" \/><\/a><\/p> <p>OLYMPUS DIGITAL CAMERA<\/p>",
            "published": "2020-06-28T22:32:56Z",
            "author": "nobody@flickr.com (\"eriko_jpn\")",
            "author_id": "52742772@N02",
            "tags": "cat kitten"
       },
       {
            "title": "Kitten \u5b50\u732b",
            "link": "https:\/\/www.flickr.com\/photos\/eriko-japan\/50056076841\/",
            "media": {"m":"https:\/\/live.staticflickr.com\/65535\/50056076841_6dd3bfb97f_m.jpg"},
            "date_taken": "2020-06-25T13:20:15-08:00",
            "description": " <p><a href=\"https:\/\/www.flickr.com\/people\/eriko-japan\/\">eriko_jpn<\/a> posted a photo:<\/p> <p><a href=\"https:\/\/www.flickr.com\/photos\/eriko-japan\/50056076841\/\" title=\"Kitten \u5b50\u732b\"><img src=\"https:\/\/live.staticflickr.com\/65535\/50056076841_6dd3bfb97f_m.jpg\" width=\"240\" height=\"180\" alt=\"Kitten \u5b50\u732b\" \/><\/a><\/p> <p>OLYMPUS DIGITAL CAMERA<\/p>",
            "published": "2020-06-28T22:32:52Z",
            "author": "nobody@flickr.com (\"eriko_jpn\")",
            "author_id": "52742772@N02",
            "tags": "cat kitten"
       },
       {
            "title": "Kitten \u5b50\u732b",
            "link": "https:\/\/www.flickr.com\/photos\/eriko-japan\/50056317592\/",
            "media": {"m":"https:\/\/live.staticflickr.com\/65535\/50056317592_a60109696e_m.jpg"},
            "date_taken": "2020-06-25T13:20:54-08:00",
            "description": " <p><a href=\"https:\/\/www.flickr.com\/people\/eriko-japan\/\">eriko_jpn<\/a> posted a photo:<\/p> <p><a href=\"https:\/\/www.flickr.com\/photos\/eriko-japan\/50056317592\/\" title=\"Kitten \u5b50\u732b\"><img src=\"https:\/\/live.staticflickr.com\/65535\/50056317592_a60109696e_m.jpg\" width=\"240\" height=\"180\" alt=\"Kitten \u5b50\u732b\" \/><\/a><\/p> <p>OLYMPUS DIGITAL CAMERA<\/p>",
            "published": "2020-06-28T22:32:55Z",
            "author": "nobody@flickr.com (\"eriko_jpn\")",
            "author_id": "52742772@N02",
            "tags": "cat kitten"
       },
       {
            "title": "Kitten \u5b50\u732b",
            "link": "https:\/\/www.flickr.com\/photos\/eriko-japan\/50055484608\/",
            "media": {"m":"https:\/\/live.staticflickr.com\/65535\/50055484608_3a0c1614b2_m.jpg"},
            "date_taken": "2020-06-26T09:45:00-08:00",
            "description": " <p><a href=\"https:\/\/www.flickr.com\/people\/eriko-japan\/\">eriko_jpn<\/a> posted a photo:<\/p> <p><a href=\"https:\/\/www.flickr.com\/photos\/eriko-japan\/50055484608\/\" title=\"Kitten \u5b50\u732b\"><img src=\"https:\/\/live.staticflickr.com\/65535\/50055484608_3a0c1614b2_m.jpg\" width=\"240\" height=\"171\" alt=\"Kitten \u5b50\u732b\" \/><\/a><\/p> <p>OLYMPUS DIGITAL CAMERA<\/p>",
            "published": "2020-06-28T22:33:00Z",
            "author": "nobody@flickr.com (\"eriko_jpn\")",
            "author_id": "52742772@N02",
            "tags": "cat kitten"
       },
       {
            "title": "Kitten \u5b50\u732b",
            "link": "https:\/\/www.flickr.com\/photos\/eriko-japan\/50055487838\/",
            "media": {"m":"https:\/\/live.staticflickr.com\/65535\/50055487838_dd74230bda_m.jpg"},
            "date_taken": "2020-06-26T09:44:39-08:00",
            "description": " <p><a href=\"https:\/\/www.flickr.com\/people\/eriko-japan\/\">eriko_jpn<\/a> posted a photo:<\/p> <p><a href=\"https:\/\/www.flickr.com\/photos\/eriko-japan\/50055487838\/\" title=\"Kitten \u5b50\u732b\"><img src=\"https:\/\/live.staticflickr.com\/65535\/50055487838_dd74230bda_m.jpg\" width=\"240\" height=\"180\" alt=\"Kitten \u5b50\u732b\" \/><\/a><\/p> <p>OLYMPUS DIGITAL CAMERA<\/p>",
            "published": "2020-06-28T22:32:59Z",
            "author": "nobody@flickr.com (\"eriko_jpn\")",
            "author_id": "52742772@N02",
            "tags": "cat kitten"
       },
       {
            "title": "Kitten \u5b50\u732b",
            "link": "https:\/\/www.flickr.com\/photos\/eriko-japan\/50055485638\/",
            "media": {"m":"https:\/\/live.staticflickr.com\/65535\/50055485638_7ba0b79d3a_m.jpg"},
            "date_taken": "2020-06-26T09:43:59-08:00",
            "description": " <p><a href=\"https:\/\/www.flickr.com\/people\/eriko-japan\/\">eriko_jpn<\/a> posted a photo:<\/p> <p><a href=\"https:\/\/www.flickr.com\/photos\/eriko-japan\/50055485638\/\" title=\"Kitten \u5b50\u732b\"><img src=\"https:\/\/live.staticflickr.com\/65535\/50055485638_7ba0b79d3a_m.jpg\" width=\"240\" height=\"206\" alt=\"Kitten \u5b50\u732b\" \/><\/a><\/p> <p>OLYMPUS DIGITAL CAMERA<\/p>",
            "published": "2020-06-28T22:33:02Z",
            "author": "nobody@flickr.com (\"eriko_jpn\")",
            "author_id": "52742772@N02",
            "tags": "cat kitten"
       },
       {
            "title": "Kitten \u5b50\u732b",
            "link": "https:\/\/www.flickr.com\/photos\/eriko-japan\/50056313792\/",
            "media": {"m":"https:\/\/live.staticflickr.com\/65535\/50056313792_016db8365b_m.jpg"},
            "date_taken": "2020-06-25T13:21:11-08:00",
            "description": " <p><a href=\"https:\/\/www.flickr.com\/people\/eriko-japan\/\">eriko_jpn<\/a> posted a photo:<\/p> <p><a href=\"https:\/\/www.flickr.com\/photos\/eriko-japan\/50056313792\/\" title=\"Kitten \u5b50\u732b\"><img src=\"https:\/\/live.staticflickr.com\/65535\/50056313792_016db8365b_m.jpg\" width=\"240\" height=\"180\" alt=\"Kitten \u5b50\u732b\" \/><\/a><\/p> <p>OLYMPUS DIGITAL CAMERA<\/p>",
            "published": "2020-06-28T22:32:57Z",
            "author": "nobody@flickr.com (\"eriko_jpn\")",
            "author_id": "52742772@N02",
            "tags": "cat kitten"
       },
       {
            "title": "Kitten \u5b50\u732b",
            "link": "https:\/\/www.flickr.com\/photos\/eriko-japan\/50056306567\/",
            "media": {"m":"https:\/\/live.staticflickr.com\/65535\/50056306567_a70f3c7323_m.jpg"},
            "date_taken": "2020-06-26T09:45:08-08:00",
            "description": " <p><a href=\"https:\/\/www.flickr.com\/people\/eriko-japan\/\">eriko_jpn<\/a> posted a photo:<\/p> <p><a href=\"https:\/\/www.flickr.com\/photos\/eriko-japan\/50056306567\/\" title=\"Kitten \u5b50\u732b\"><img src=\"https:\/\/live.staticflickr.com\/65535\/50056306567_a70f3c7323_m.jpg\" width=\"240\" height=\"180\" alt=\"Kitten \u5b50\u732b\" \/><\/a><\/p> <p>OLYMPUS DIGITAL CAMERA<\/p>",
            "published": "2020-06-28T22:33:00Z",
            "author": "nobody@flickr.com (\"eriko_jpn\")",
            "author_id": "52742772@N02",
            "tags": "cat kitten"
       },
       {
            "title": "Kitten \u5b50\u732b",
            "link": "https:\/\/www.flickr.com\/photos\/eriko-japan\/50055485163\/",
            "media": {"m":"https:\/\/live.staticflickr.com\/65535\/50055485163_5bdbf0d8b2_m.jpg"},
            "date_taken": "2020-06-26T09:44:11-08:00",
            "description": " <p><a href=\"https:\/\/www.flickr.com\/people\/eriko-japan\/\">eriko_jpn<\/a> posted a photo:<\/p> <p><a href=\"https:\/\/www.flickr.com\/photos\/eriko-japan\/50055485163\/\" title=\"Kitten \u5b50\u732b\"><img src=\"https:\/\/live.staticflickr.com\/65535\/50055485163_5bdbf0d8b2_m.jpg\" width=\"240\" height=\"180\" alt=\"Kitten \u5b50\u732b\" \/><\/a><\/p> <p>OLYMPUS DIGITAL CAMERA<\/p>",
            "published": "2020-06-28T22:33:03Z",
            "author": "nobody@flickr.com (\"eriko_jpn\")",
            "author_id": "52742772@N02",
            "tags": "cat kitten"
       },
       {
            "title": "Kitten \u5b50\u732b",
            "link": "https:\/\/www.flickr.com\/photos\/eriko-japan\/50056318287\/",
            "media": {"m":"https:\/\/live.staticflickr.com\/65535\/50056318287_f6c1fd2739_m.jpg"},
            "date_taken": "2020-06-25T13:20:39-08:00",
            "description": " <p><a href=\"https:\/\/www.flickr.com\/people\/eriko-japan\/\">eriko_jpn<\/a> posted a photo:<\/p> <p><a href=\"https:\/\/www.flickr.com\/photos\/eriko-japan\/50056318287\/\" title=\"Kitten \u5b50\u732b\"><img src=\"https:\/\/live.staticflickr.com\/65535\/50056318287_f6c1fd2739_m.jpg\" width=\"240\" height=\"171\" alt=\"Kitten \u5b50\u732b\" \/><\/a><\/p> <p>OLYMPUS DIGITAL CAMERA<\/p>",
            "published": "2020-06-28T22:32:54Z",
            "author": "nobody@flickr.com (\"eriko_jpn\")",
            "author_id": "52742772@N02",
            "tags": "cat kitten"
       },
       {
            "title": "Kitten \u5b50\u732b",
            "link": "https:\/\/www.flickr.com\/photos\/eriko-japan\/50055486148\/",
            "media": {"m":"https:\/\/live.staticflickr.com\/65535\/50055486148_379be7598d_m.jpg"},
            "date_taken": "2020-06-26T09:43:57-08:00",
            "description": " <p><a href=\"https:\/\/www.flickr.com\/people\/eriko-japan\/\">eriko_jpn<\/a> posted a photo:<\/p> <p><a href=\"https:\/\/www.flickr.com\/photos\/eriko-japan\/50055486148\/\" title=\"Kitten \u5b50\u732b\"><img src=\"https:\/\/live.staticflickr.com\/65535\/50055486148_379be7598d_m.jpg\" width=\"240\" height=\"180\" alt=\"Kitten \u5b50\u732b\" \/><\/a><\/p> <p>OLYMPUS DIGITAL CAMERA<\/p>",
            "published": "2020-06-28T22:33:01Z",
            "author": "nobody@flickr.com (\"eriko_jpn\")",
            "author_id": "52742772@N02",
            "tags": "cat kitten"
       },
       {
            "title": "Kitten \u5b50\u732b",
            "link": "https:\/\/www.flickr.com\/photos\/eriko-japan\/50055497758\/",
            "media": {"m":"https:\/\/live.staticflickr.com\/65535\/50055497758_cac1374fb1_m.jpg"},
            "date_taken": "2020-06-25T13:20:30-08:00",
            "description": " <p><a href=\"https:\/\/www.flickr.com\/people\/eriko-japan\/\">eriko_jpn<\/a> posted a photo:<\/p> <p><a href=\"https:\/\/www.flickr.com\/photos\/eriko-japan\/50055497758\/\" title=\"Kitten \u5b50\u732b\"><img src=\"https:\/\/live.staticflickr.com\/65535\/50055497758_cac1374fb1_m.jpg\" width=\"240\" height=\"180\" alt=\"Kitten \u5b50\u732b\" \/><\/a><\/p> <p>OLYMPUS DIGITAL CAMERA<\/p>",
            "published": "2020-06-28T22:32:54Z",
            "author": "nobody@flickr.com (\"eriko_jpn\")",
            "author_id": "52742772@N02",
            "tags": "cat kitten"
       },
       {
            "title": "Kitten \u5b50\u732b",
            "link": "https:\/\/www.flickr.com\/photos\/eriko-japan\/50056323122\/",
            "media": {"m":"https:\/\/live.staticflickr.com\/65535\/50056323122_4306467c0c_m.jpg"},
            "date_taken": "2020-06-25T13:20:20-08:00",
            "description": " <p><a href=\"https:\/\/www.flickr.com\/people\/eriko-japan\/\">eriko_jpn<\/a> posted a photo:<\/p> <p><a href=\"https:\/\/www.flickr.com\/photos\/eriko-japan\/50056323122\/\" title=\"Kitten \u5b50\u732b\"><img src=\"https:\/\/live.staticflickr.com\/65535\/50056323122_4306467c0c_m.jpg\" width=\"240\" height=\"160\" alt=\"Kitten \u5b50\u732b\" \/><\/a><\/p> <p>OLYMPUS DIGITAL CAMERA<\/p>",
            "published": "2020-06-28T22:32:52Z",
            "author": "nobody@flickr.com (\"eriko_jpn\")",
            "author_id": "52742772@N02",
            "tags": "cat kitten"
       }
        ]
}

从这个回复中,我只需要物品部分。此外,“媒体”是另一个 JSON。所以我不想为每种类型的 JSON 制作一个单独的 Struct。如果我可以使用我的 JSON 数据中的字典之类的东西来实例化我的类对象,那将非常有帮助。

PS-我提到了 JSON 的 Swift Decodable 解析部分,这篇文章几乎解决了同样的问题。但是,答案之一中给出的代码,

let json = try? JSONSerialization.jsonObject(with: data!, options: []) as? [String:Any]

对我不起作用。这data是我的 API 响应。

当我打印json变量时,我得到nil

标签: iosjsonswiftxcodeapi

解决方案


使用Codable. 创建一个与您的 JSON 对应的可解码结构模型,如下所示:

struct Response: Decodable {
    var items: [Item]
}

struct Item: Decodable {
    let title, link: String
    let media: Media
    let dateTaken, description, published, author: String
    let authorId, tags: String
}

struct Media: Codable {
    let m: String
}

而不是像这样JSONSerialization使用JSONDecoder

do {
    let decoder = JSONDecoder()
    decoder.keyDecodingStrategy = .convertFromSnakeCase
    let items = try decoder.decode(Response.self, from: data).items
    print(items)
} catch {
    print(error)
}

修改了JSONDecoderkeyDecodingStrategy学分:@Vadian。


推荐阅读