使用 Swifty 在 Swift 中将 JSON 作为字符串返回

Posted

技术标签:

【中文标题】使用 Swifty 在 Swift 中将 JSON 作为字符串返回【英文标题】:returning JSON as string in Swift using Swifty 【发布时间】:2015-04-14 03:18:45 【问题描述】:

我正在使用 Alamofire 和 Swifty,并且能够使我的 API POST 并成功取回数据。但是,我不确定如何获取我正在打印的数据并能够将其作为字符串返回。

在下面,println 的打印效果很好。但是,当我使用与返回相同的 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)")
            

【问题讨论】:

【参考方案1】:

问题是您从闭包返回“字典”,而闭包返回类型为 Void。所以,你需要在完成处理程序中得到它。

为了更好的想法,你可以看看这个solution。希望对您有所帮助!

【讨论】:

以上是关于使用 Swifty 在 Swift 中将 JSON 作为字符串返回的主要内容,如果未能解决你的问题,请参考以下文章

Swift 3 Alamofire Swifty json 解析问题

Swift3、XCode8、iOS10 的 Swifty JSON 性能下降

Swifty JSON:将 JSON 数组中的对象分层列表转换为分层 Swift 对象

更新到 Swift 3 破坏了我的 swifty json 代码

Swifty JSON 响应解析

Swifty JSON 克隆错误