【发布时间】:2016-10-03 09:59:08
【问题描述】:
我正在尝试使用 Alamofire 将字典发布到我的后端:
这是我的代码:
func postCheckUserPhonenumbers(phonenumbers:[String], completionHandler: (([AnyObject?], AnyObject?) -> Void)) {
let urlString = Constant.apiUrl().stringByAppendingFormat(Constant.apiPostCheckUserPhonenumbers)
let phoneNumbersDictionary = phonenumbers.map({ ["number": $0] })
let json = JSON(phoneNumbersDictionary)
print(json)
Alamofire.request(.POST, urlString, parameters: phoneNumbersDictionary, encoding: .JSON).validate().responseJSON(completionHandler: {response in
if response.result.isSuccess{
if let json = response.result.value {
let json = JSON(json)
}
}
if response.result.isFailure{
}
})
}
它不会编译,因为 phoneNumbersDictionairy 不符合预期的参数:
不过,print(json) 打印的正是我在 Postman 中的内容。这是我要发布的身体。 打印的声明:
[
{
"number" : "85555512"
},
{
"number" : "85551212"
},
{
"number" : "55648583"
}
]
我的邮递员:
我怎样才能做到这一点?
【问题讨论】:
-
phonenumbers的数组长什么样? -
你的错误意味着这个 Alamofire 方法向网络发送了一个字典,但是你试图发送一个它显然不能发送的字典数组。
-
基本上,您的“phoneNumbersDictionary”不是字典。它是一个数组。
标签: swift alamofire postman swifty-json