我刚刚更新到 swift 3.1 和 Xcode 8.3.1,我在更新之前遇到了一个错误,这不是错误。我不知道如何解决的错误是尝试从行中的 API 解析 json 数据try! JSONSerialization.jsonObject
我描述下面的代码
public extension User {
public static var fake: Resource<[User]> = Resource(request: { (url) -> URLRequest in
var components = URLComponents(url: url, resolvingAgainstBaseURL: true)!
components.path = "/v2/fake-users"
var request = URLRequest(url: components.url!)
request.httpMethod = "GET"
return request
}) { (data) -> ([User]) in
let json = try! JSONSerialization.jsonObject(with: data, options:[]) >>>>ERRROR>>>> Cannot invoke 'jsonObject' with an argument list of type '(with: (Any), options: [Any])'
var code = json as? [String: Any]
let error = code?["code"] as! String?
if error == "NOT_AUTHORIZED_EXPIRED_TOKEN" || error == "INTERNAL_ERROR"{
let sessionController = SessionController()
sessionController.refreshToken(refreshToken: (SessionProvider().getUserToken()?.refreshToken)!) { (error) in
if let error = error {
print("Error trying to login refreshToken: (error)")
} else {
print("login refreshToken successful")
}
}
}
else {
print("n code: (error)n")
}
let unboxer = try Unboxer(data: data as! Data)
return try unboxer.unbox(key: "hits")
}
你可以试试这个:
}( { (strData( -> ([User]( in
let data = strData.data(using: String.Encoding.utf8, allowLossyConversion: false)! let json = try JSONSerialization.jsonObject(with: data, options: []) print(json)