Swift 如何解析键值字典数据
我有如下的jsonSwift 如何解析键值字典数据,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!) 这只是一张货币及其汇率的清单 我不知道如何解析这些数据
{
"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:更新的问题。。。作为解析用户数据的示例。。。