【发布时间】:2017-07-03 06:22:57
【问题描述】:
所以我为一个应用程序使用了一个 API,它可以帮助我存储事件的数据,我将数据发送到用户输入/选择的 API 存储它并取回一个 ID 以供以后参考。 这是我使用的一些代码。
API 接受 JSON
{
"topic":"test shedule",
"setdate":"21-09-2017",
"scheduledate":"22-09-2017",
"settime":"09:00:00",
"scheduletime":"10:00:00",
"agenda":"hi this is test agenda",
"adminname":"name",
"type":"meeting",
"users": "[{\"category\":\"optional\",\"email\":\"abc@gmail.com\"}]",
"adminemail":"abc@gmail.com"
}
我正在使用 Alamofire 发送数据\
let parameters: Parameters = [
"topic":topicTextField.text!,
"setdate":currentDate as String,
"scheduledate":setDate as String,
"settime":currentTime as String,
"scheduletime":setTime as String,
"agenda":agendaTextField.text!,
"adminname":"abcname",
"type":"meeting",
"users" : "\(smembers)",
"adminemail":"abc@gmail.com"
]
Alamofire.request("\(baseURL)meeting_shedule.php",method: .post, parameters: parameters).responseJSON { response in
if let dict = response.result.value as? Dictionary<String, AnyObject> {
let topic = dict["topic"] as? String
let g_id = dict["g_id"] as? String
self.storeMeeting(topic: topic!, g_id: g_id!)
}
}
smembers 是从字典 selectedMembers 创建的数组,字典 selectedMembers 来自不同的 ViewController,使用 prepare for segue
var selectedMembers = [String: String]()
var smembers = [Any]()
var selected = [String: String]()
if selectedMembers.isEmpty == false {
for (key, value) in selectedMembers {
selected = ["email":key, "category":value]
smembers.append(selected)
}
}
问题
我正面临来自 api 的失败响应。 我认为问题在于将“用户”发送到 API,因为 API 正在以字符串形式请求数据,而我正在发送一个数组,我什至尝试通过序列化将 smembers 转换为 jsonstring 来解决这个问题,但仍然返回失败。
我不知道如何解决这个问题,如何发送 API 将接受的数据。
感谢您的帮助
【问题讨论】:
标签: arrays json swift3 alamofire