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)")