Swift 如何解析键值字典数据

Swift 如何解析键值字典数据,swift,swift4,key-value,jsondecoder,Swift,Swift4,Key Value,Jsondecoder,我有如下的json { "CHF": 1.0064, "KZT": 0.0027, "ZAR": 0.0676, "INR": 0.0136, "CNY": 0.1456, "UZS": 0.0001, "AUD": 0.7062, "KRW": 0.0009 } let globalErrObj = try JSONDecoder().decode(UserData.self, from: data!) 这只是一张货币及其汇率的清单 我不知道如何解析这些数据

我有如下的json

{
  "CHF": 1.0064,
  "KZT": 0.0027,
  "ZAR": 0.0676,
  "INR": 0.0136,
  "CNY": 0.1456,
  "UZS": 0.0001,
  "AUD": 0.7062,
  "KRW": 0.0009
}
let globalErrObj = try JSONDecoder().decode(UserData.self, from: data!)
这只是一张货币及其汇率的清单

我不知道如何解析这些数据

通常,我创建模型来解析json数据,如下所示为用户数据(而不是上述情况)

&在解析时,我有如下所示

{
  "CHF": 1.0064,
  "KZT": 0.0027,
  "ZAR": 0.0676,
  "INR": 0.0136,
  "CNY": 0.1456,
  "UZS": 0.0001,
  "AUD": 0.7062,
  "KRW": 0.0009
}
let globalErrObj = try JSONDecoder().decode(UserData.self, from: data!)

然而,由于这是键值数据,我对模型和解析的方式感到困惑。

我的建议是将JSON解码为
[String:Double]
,并将其映射到自定义结构的数组中

struct Rate {
    let name : String
    let value : Double
}


let rates = try JSONDecoder().decode([String: Double].self, from: data!).map(Rate.init)

这就是全部JSON吗?要解析它,您需要使用字典,
[String:Decimal]
CHF:1.0064与
firstName、lastName
的关系如何?此JSON将解析为字符串键和双值字典。如果您想从这个字典中得到类似对象数组的东西,其中对象是包含currencyName和值作为属性的结构,您必须自己做。@AshleyMills:更新的问题。。。作为解析用户数据的示例。。。