我試圖使用Alamofire快速發送身體發送請求。如何在SWIFT中發送POST請求與身體
的json的身體看起來像:
{
"IdQuiz" : 102,
"IdUser" : "iosclient",
"User" : "iosclient",
"List":[
{
"IdQuestion" : 5,
"IdProposition": 2,
"Time" : 32
},
{
"IdQuestion" : 4,
"IdProposition": 3,
"Time" : 9
}
]
}
我試圖讓let
list
與NSDictionnary看起來像:
[[Time: 30, IdQuestion: 6510, idProposition: 10], [Time: 30, IdQuestion: 8284, idProposition: 10]]
,並使用Alamofire我的要求是這樣的:
Alamofire.request(.POST, "http://myserver.com", parameters: ["IdQuiz":"102","IdUser":"iOSclient","User":"iOSClient","List":list ], encoding: .JSON)
.response { request, response, data, error in
let dataString = NSString(data: data!, encoding:NSUTF8StringEncoding)
println(dataString)
}
該請求有錯誤,我相信問題是與詞典列表,因爲如果我提出的請求沒有列表它工作正常,所以任何想法?
我試圖解決建議,但我面臨同樣的問題:
let json = ["List":list,"IdQuiz":"102","IdUser":"iOSclient","UserInformation":"iOSClient"]
let data = NSJSONSerialization.dataWithJSONObject(json, options: NSJSONWritingOptions.PrettyPrinted,error:nil)
let jsons = NSString(data: data!, encoding: NSUTF8StringEncoding)
Alamofire.request(.POST, "http://myserver.com", parameters: [:], encoding: .Custom({
(convertible, params) in
var mutableRequest = convertible.URLRequest.copy() as! NSMutableURLRequest
mutableRequest.HTTPBody = jsons!.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false)
return (mutableRequest, nil)
}))
.response { request, response, data, error in
let dataString = NSString(data: data!, encoding:NSUTF8StringEncoding)
println(dataString)
}
可能重複://計算器。com/questions/27855319/post-request-with-a-simple-string-in-body-with-alamofire) –
感謝您的評論,但是提供的帖子無濟於事,我也沒有試圖通過一個字符串作爲身體,所以你可以請仔細閱讀帖子 –
@YasserB。將你的JSON轉換爲NSString(有這種方法),然後使用@Bhavin的鏈接? – Larme