如何使用 Alamofire 发送 SwftyJSON?
How to send SwftyJSON with Alamofire?
我有很长的数据,我想用 alamofire 发送到 API 服务器,所以我用 SwiftyJSON 创建了一个 Json 对象,现在如果我将 json 传递给 alamofire,它会给出一个错误请解释我遗漏了什么?
Json :
{
"Skill" : {
"Name" : "iOS",
"Desc" : "Objective-C, Swift"
},
"LangInfo" : [
"Hindi",
"English",
"French",
"Russian"
],
"EduInfo" : {
"Degree" : "MCA",
"School" : "University of Kota",
"Year" : "2013"
},
"GenInfo" : {
"FirstName" : "Varun",
"Email" : "varun@gmail.com",
"State" : "Rajasthan",
"Address" : "Plot No. 00, Bhagwan Nagar 31,",
"Zip" : "21354",
"Phone" : "123456789",
"LastName" : "Sharma"
}
}
代码:-
var jsonObj = JSON(skilldata.data)
println(jsonObj);
let parameters = [
"data": jsonObj
]
Alamofire.request(.POST, BaseUrl+SaveData, parameters: parameters)
.responseJSON { (_, _, JSON, _) in
println(JSON)
let dict:Dictionary<String, String> = JSON as! Dictionary<String, String>
println(dict["status"])
}
这里skilldata.data
是var data = Dictionary<String, AnyObject>()
错误在.responseJSON { (_, _, JSON, _) in
行
编辑 #1
编辑 #2
Xcode 版本:- 6.2.3
和
为 Alamofire 和 Swifty 使用 podJson
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!
pod 'Alamofire', '~> 1.2'
pod 'SwiftyJSON', '~> 2.2.0'
类型 JSON
不符合任何对象协议,因此您需要从 jsonObj
获取对象。获取对象参数类型后为[String : AnyObject]
,只有在获取到之后,才会满足Alamofire请求的参数类型
let parameters = [
"data": jsonObj.object
]
我有很长的数据,我想用 alamofire 发送到 API 服务器,所以我用 SwiftyJSON 创建了一个 Json 对象,现在如果我将 json 传递给 alamofire,它会给出一个错误请解释我遗漏了什么?
Json :
{
"Skill" : {
"Name" : "iOS",
"Desc" : "Objective-C, Swift"
},
"LangInfo" : [
"Hindi",
"English",
"French",
"Russian"
],
"EduInfo" : {
"Degree" : "MCA",
"School" : "University of Kota",
"Year" : "2013"
},
"GenInfo" : {
"FirstName" : "Varun",
"Email" : "varun@gmail.com",
"State" : "Rajasthan",
"Address" : "Plot No. 00, Bhagwan Nagar 31,",
"Zip" : "21354",
"Phone" : "123456789",
"LastName" : "Sharma"
}
}
代码:-
var jsonObj = JSON(skilldata.data)
println(jsonObj);
let parameters = [
"data": jsonObj
]
Alamofire.request(.POST, BaseUrl+SaveData, parameters: parameters)
.responseJSON { (_, _, JSON, _) in
println(JSON)
let dict:Dictionary<String, String> = JSON as! Dictionary<String, String>
println(dict["status"])
}
这里skilldata.data
是var data = Dictionary<String, AnyObject>()
错误在.responseJSON { (_, _, JSON, _) in
编辑 #1
编辑 #2 Xcode 版本:- 6.2.3
和
为 Alamofire 和 Swifty 使用 podJson
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!
pod 'Alamofire', '~> 1.2'
pod 'SwiftyJSON', '~> 2.2.0'
类型 JSON
不符合任何对象协议,因此您需要从 jsonObj
获取对象。获取对象参数类型后为[String : AnyObject]
,只有在获取到之后,才会满足Alamofire请求的参数类型
let parameters = [
"data": jsonObj.object
]