gpt4 book ai didi

ios - 将 Dictionary 转换为 Json 以在 Alamofire 中传递参数

转载 作者:行者123 更新时间:2023-12-01 19:53:06 24 4
gpt4 key购买 nike

我有一个字典,键为用户名,值为电子邮件。我想使用 Alamofire 将其发送到 api 我不知道如何解决这个问题,因为我想将多个用户发送到 api 以一次保存。

字典

var selectedMembers = [String: String]()

保存在此字典中的数据附加在与 TableView 不同的 VC 中,我们可以在 TableView 中选择要在字典中附加多少用户。
现在我需要将此字典转换为 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

}

最佳答案

您只需要在当前设置 user 时创建字典(用户)数组的值为 Dictionary而不是 Array .

let parameters: Parameters = [
"users" : [
[
"user_name" : "abc",
"user_email" : "abc@gmail.com"
],
[
"user_name" : "abc2",
"user_email" : "abc2@gmail.com"
]
]
]
Alamofire.request("\(baseURL)", method: .post, parameters: parameters).responseJSON { response in

}

关于ios - 将 Dictionary 转换为 Json 以在 Alamofire 中传递参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44581987/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com