繁体   English   中英

Swift 5:使用数组根 object 从 JSON 中获取多个值

[英]Swift 5: getting several values out of JSON with array root object

我(一个完整的菜鸟)目前正在尝试创建我的第一个 iOS 应用程序 - 一个用于我国货币乌克兰格里夫纳的货币表/转换器。 我已经创建了一个 TableView,我将使用来自以下链接的 JSON 文件中的数据填充它: 点击此处

该文件本身具有数组根。 像那样:

 [
{ 
"r030":36,"txt":"Австралійський долар","rate":21.334,"cc":"AUD","exchangedate":"23.12.2020"
 }
,{ 
"r030":124,"txt":"Канадський долар","rate":21.9334,"cc":"CAD","exchangedate":"23.12.2020"
 }
,{ 
"r030":156,"txt":"Юань Женьміньбі","rate":4.3192,"cc":"CNY","exchangedate":"23.12.2020"
 }
,{ 
"r030":191,"txt":"Куна","rate":4.5833,"cc":"HRK","exchangedate":"23.12.2020"
 }]

我想从这个文件中创建一个字典,只使用两个值:[cc: rate],然后用这个数据填充我的 TableView。 我不在乎其他价值观。

像这样的东西:

["AUD": 21.334, "CAD": 21.9334]

我应该使用其他数据类型来存储这些数据吗? 一个表示货币的结构然后制作一个货币结构数组,也许?

如何从该 URL 获取此文件并制作这样的 Dictionary/Struct 数组/...?

提前非常感谢你:)

做一个结构

struct Currency : Decodable {
    let name : String
    let rate : Double

    private enum CodingKeys : String, CodingKey { case name = "cc", rate }
}

然后使用 URLSession 加载数据并使用URLSessionJSONDecoder数组解码为[Currency] (两者都有无数个示例)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM