当 JSON 的字符串名称中包含“-”时,如何使用 Decodable 解析 JSON

How to parse JSON with Decodable when JSON has a String with "-" in its name

所以我尝试 JSON 使用 Decodable 进行解析,Decodable 结构的字段应该与它们在 JSON 中的名称匹配,但是 JSON 中有一个对象有一个“- “在它的名字里。如何命名结构中的字段?

JSON:

"media-metadata": [
    {
        "format": "Standard Thumbnail",
        "height": 75,
        "width": 75
    },
    {
        "format": "mediumThreeByTwo440",
        "height": 293,
        "width": 440
    }
]

代码:

struct  MediaMetadataDetails: Decodable {
    let format: String
    let height: Int
    let width: Int
}

struct MediaObject: Decodable {
    let media-metadata: [MediaMetadataDetails] // ???
}

您需要添加 CodingKeys 枚举

struct MediaObject: Decodable {
    let mediaMetadata: [MediaMetadataDetails] 
    enum CodingKeys: String, CodingKey {
       case mediaMetadata = "media-metadata" 
    }
}