【发布时间】:2022-01-14 14:09:18
【问题描述】:
json:
let json = """
[{
"name":"abc"
"id":"abc123"
"university":"CMU"
},
{
"name":"xyz"
"id":"xyz123"
"university":"NYU"
}]
"""
结构:
struct Student: Codable {
let name: String
let university: String
}
我知道我可以做得到学生名单
let students = try JSONDecoder().decode([Student].self, from: json.data(using: .utf8)!)
但我正在尝试创建一个字典,以便我可以通过学生 ID 访问任何学生。
let students = [String:Student]()
- 如何使用 codable 来解决这个问题?
- 有没有办法可以使用学生 ID 作为键和值作为学生对象?
- 我知道我可以运行一个循环并附加我的字典,但我正在寻找更好的解决方案。
谢谢!
【问题讨论】:
-
let dict = Dictionary(grouping: students, by: { $0.name })?以后就好多了……
标签: json swift dictionary decodable