【发布时间】:2022-01-03 19:11:46
【问题描述】:
我正在进行 API 调用,它返回以下 JSON 结构(各种加密货币的价格信息):
{
"bitcoin": {
"gbp": 34532
},
"ethereum": {
"gbp": 2789.08
}
}
我用来解码这个 JSON 的结构如下所示:
struct Coin: Codable {
let gbp: Double
enum CodingKeys: String, CodingKey {
case gbp
}
}
JSON 没有被解码,因为返回的每个 JSON 元素的父元素都是加密货币的名称,但这会根据调用的内容而改变。由于名称总是在变化,我不确定如何在结构中创建一个变量来映射每个父级。例如。对于这个例子,我可以做一个这样的结构:
struct AllCoins: Codable {
let bitcoin, ethereum: Coin
}
这将解码这个特定的示例,但如果我获取其他硬币,它将无法工作,因为字符串名称不同,因此它们不会匹配。我确定我在这里遗漏了一些简单的东西,但是有人知道我该如何解决这个问题吗?
【问题讨论】:
-
您是否也在使用英镑以外的其他货币?