ios - 如何快速打印 Alamofire 中发布请求的响应的 json 内容?

标签 ios swift alamofire swifty-json

好的,所以我使用的是 alamofire,我传递的参数是有效的。这是到目前为止的代码:

Alamofire.request(.POST, "http://mywebservice.com", parameters: myparameters)
.response { (request, response, data, error) in
    if(error != nil){
        print("error= \(error)")
    }else{
        print("there was no error so far ")
        print(data)
        var json = JSON(data!)

        print(json) //prints unknown
        print(json["id"]) //prints null      
        }
    }
}

我尝试了不同的方法,但到目前为止没有任何效果。我正在使用 alamofire 和 swiftyjson,来自 webservice 的响应 json 是:

{
  "id": "432532gdsg",
  "username": "gsdgsdg"
}

如果成功,我想分别打印这两个值。我该怎么做?

最佳答案

您的问题来自这一行:

var json = JSON(data!)

来自 SwiftyJSON 的 JSON() 初始化器可以接受多种类型的输入。

当您未在 init 中指定类型时,SwiftyJSON 会尝试自行推断类型。

不幸的是,它有时会默默地失败,因为它会误解输入。

因此,当将 SwiftyJSON 与 NSData 一起使用时,解决方案是为 JSON 初始化程序指定“数据:”参数:

var json = JSON(data: data!)

关于ios - 如何快速打印 Alamofire 中发布请求的响应的 json 内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35960340/

相关文章:

swift - Alamofire 发出 newwork 请求后如何返回值

iOS 12 更积极地关闭我的应用程序?

ios - 类保留计数

ios - 如何从 PFUser 解包 Optionals 链以访问 bool 值

swift - 从 rawValue 初始化泛型类型的枚举

swift - 尝试在一次调用中从 Web 服务获取所有数据

ios - 为什么我无法快速下载所有 json 值?

ios - ARM7和ARM7s有什么区别

ios - 无法将类实例分配给它的协议(protocol)类型?

ios - Swift 在调试和 Release模式下的行为不同