【发布时间】:2017-11-18 19:15:42
【问题描述】:
我有一个字典,键为用户名,值为电子邮件。我想使用 Alamofire 将其发送到 api 我不知道如何解决这个问题,因为我想将多个用户发送到 api 以一次保存。
字典
var selectedMembers = [String: String]()
保存在此字典中的数据附加在与表格视图不同的 VC 中,我们可以在表格视图中选择要在字典中附加多少用户。 现在我需要将此字典转换为 json 格式以通过 alamofire 发送到 api。
Json 甲酸盐
"users": [
{
"user_email": "abc@gmail.com",
"user_name": "abc"
},
{
"user_email": "abc2@gmail.com",
"user_name": "abc2"
}
]
Alamofire 代码
let parameters: Parameters = [
"users" : [
[
"user_name" : "user_name goes here",
"user_email" : "user_email goes here"
]
]
]
Alamofire.request("\(baseURL)", method: .post, parameters: parameters).responseJSON { response in
}
我是如何解决问题的
我创建了一个函数来打印我想要的数据并将其放置在 Alamofire 参数中,类似于这样。
var selectedMembers = [String: String]()
var smembers = [AnyObject]()
var selected = [String: String]()
if selectedMembers.isEmpty == false {
for (key, value) in selectedMembers {
selected = ["useremail": key, "catagory": value]
smembers.append(selected as AnyObject)
}
}
let jsonData = try? JSONSerialization.data(withJSONObject: smembers, options: JSONSerialization.WritingOptions())
let jsonString = NSString(data: jsonData!, encoding: String.Encoding.utf8.rawValue)
let parameters: Parameters = [
"users" : jsonString as AnyObject
]
Alamofire.request("\(baseURL)", method: .post, parameters: parameters).responseJSON { response in
}
【问题讨论】:
标签: ios json dictionary swift3