使用 Swifty 返回 JSON 作为 Swift 中的字符串
returning JSON as string in Swift using Swifty
我正在使用 Alamofire 和 Swifty,我能够 API POST 并成功取回数据。但是,我不确定如何获取正在打印的数据并能够 return 将其作为字符串。
在下面,println 的打印很好。但是,当我使用与 return 相同的 json["ticket"] 时,我得到 'JSON' is not convertible to 'Void'
let encoding = Alamofire.ParameterEncoding.URL
// Fetch Request
Alamofire.request(.POST, "http://api.co/?v=1", parameters: bodyParameters, encoding: encoding)
.validate(statusCode: 200..<300)
.responseJSON{(request, response, data, error) in
if (error == nil)
{
var json = JSON(data!)
println(json["ticket"])
return json["TOKEN"]
}
else
{
println("HTTP HTTP Request failed: \(error)")
}
问题是您从闭包 returning "Dictionary",而闭包 return 类型是 Void。因此,您需要在完成处理程序中获取它。
为了更好的想法,你可以看看这个solution。希望对您有所帮助!
我正在使用 Alamofire 和 Swifty,我能够 API POST 并成功取回数据。但是,我不确定如何获取正在打印的数据并能够 return 将其作为字符串。
在下面,println 的打印很好。但是,当我使用与 return 相同的 json["ticket"] 时,我得到 'JSON' is not convertible to 'Void'
let encoding = Alamofire.ParameterEncoding.URL
// Fetch Request
Alamofire.request(.POST, "http://api.co/?v=1", parameters: bodyParameters, encoding: encoding)
.validate(statusCode: 200..<300)
.responseJSON{(request, response, data, error) in
if (error == nil)
{
var json = JSON(data!)
println(json["ticket"])
return json["TOKEN"]
}
else
{
println("HTTP HTTP Request failed: \(error)")
}
问题是您从闭包 returning "Dictionary",而闭包 return 类型是 Void。因此,您需要在完成处理程序中获取它。
为了更好的想法,你可以看看这个solution。希望对您有所帮助!