Ios 从';JSON';不相关类型';字符串';总是失败
目前,我正在使用Ios 从';JSON';不相关类型';字符串';总是失败,ios,swift,Ios,Swift,目前,我正在使用SwiftyJSON将数据集转换为JSON类型 当我运行此命令时:print(json),它将在Xcode控制台上打印 { "user_id": "123999923821" } 但是,每当我尝试执行json[“user_id”]时,作为?字符串,它总是返回nil socketManager.socket.on("toAllDrivers") { data, ack in if let vc = self.storyboard?.instantia
SwiftyJSON
将数据集转换为JSON类型
当我运行此命令时:print(json)
,它将在Xcode控制台上打印
{
"user_id": "123999923821"
}
但是,每当我尝试执行json[“user_id”]时,作为?字符串,它总是返回nil
socketManager.socket.on("toAllDrivers") { data, ack in
if let vc = self.storyboard?.instantiateViewController(withIdentifier: "PopViewControllerID") as? PopUpViewController {
let json = JSON(data[0])
print(json)
vc.passenger_id = json["user_id"] as? String // This is the line of code that return a problem.
self.present(vc, animated: true, completion: nil)
}
}
vc.passenger\u id
是一个类型字符串:
var passenger_id: String?
错误是:
从“JSON”转换为不相关的类型“String”总是失败
我应该怎么做才能解决这个问题?您应该使用
SwiftyJSON
内置的字符串转换器将值转换为可选的字符串
vc.passenger_id = json["user_id"].string
尝试:(不使用SwiftyJSON,它应该可以工作)
或
如果用户_id为零,如何处理?我是说,如果让我来这里怎么申请?
if let json = JSON(data[0]) as? [String : Any] {
vc.passenger_id = json["user_id"] as? String
}
if let user_id = json["user_id"] as? String {
vc.passenger_id = user_id
print("user_id- \(user_id)")
}
print("vc.passenger_id - \(vc.passenger_id)")