当 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"
}
}
所以我尝试 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"
}
}