【发布时间】:2018-05-14 11:33:32
【问题描述】:
我必须向网络服务器提供一些特定的 JSON,但我对如何使用正确的数组和字典感到非常困惑,所以我无法得到最终结果。我从这个开始:
["entries": [
"member" : [
"id" : key,
"name" : value
],
"timestamp" : "\(dateString)"
]
]
在我必须发送到服务器的 JSON 文件中,我只能有 1 个“条目”和几个具有特定“id”和“名称”以及时间戳的“成员”。我知道我必须使用字典,但无法得到这个结果。这是我迄今为止尝试过的:
var leden = [Int: String]()
var jsonDict = [String: Any]()
var dateString = Date()
for (key, value) in leden{
jsonDict["\(key)"] = ["member" : [
"id" : key,
"naam" : value
],
"timestamp" : "\(dateString)"
]
}
jsonFinaal = ["entries": jsonDict]
这是我所能得到的最接近的,但足够好,因为 jsonDict 中的键不应该在那里,我在第二个字典中添加了“条目”以使其成为唯一条目。
谁能更好地帮助我解决问题?
【问题讨论】:
-
Swift4 使用
Encodable协议使其变得更加容易。您可以将数据建模为结构,声明 Encodable 一致性并设置CodingKeys枚举以匹配目标 Web 服务器使用的大小写。之后,您应该准备好使用JSONEncoder().encode(encodable)- 它为您提供数据,然后您可以将其添加到URLRequest的httpBody属性中。
标签: ios json swift dictionary swift4