如何解析键值字典数据

时间:2018-10-08 08:04:50

标签: 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
}

这只是货币列表及其汇率。

我很困惑如何解析这些数据。

通常,我正在创建Model来解析用户数据的json数据,如下所示(&不适用于上述情况)。

struct UserData : Decodable {
    var firstName : String?
    var lastName : String?
}

&解析时的内容如下。

let globalErrObj = try JSONDecoder().decode(UserData.self, from: data!)

尽管这是键值数据,但我对模型和解析的方式感到困惑。

1 个答案:

答案 0 :(得分:4)

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

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


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