当此变量在iOS中包含Null时,如何将任何对象的变量转换为字符串?



问题是当我想将用户变量转换为字符串时,它说unable to read data.这可能是因为用户对象包含 null。

响应:

SUCCESS: {
data =     {
user =         {
email = "<null>";
firstName = "<null>";
};
//... 
};
message = "";
messageCode = "API_200";
} 

法典:

if let responseDict = response["data"] as? [String : AnyObject] {
if let user = responseDict["user"] {
if let userString = user as? String
{
var itIsExtracted = true;
}
}
}

我可以看到的是您的user对象被声明为Any。尝试将其设置为字典。

guard let responseDict = response["data"] as? [String : Any],
let user = responseDict["user"] as? [String : Any] else {
// There is no user
return
}
if let userEmail = user["email"] as? String {
print(userEmail)
// Can be a result as "<null>" because of server result
}
if let firstName = user["firstName"] as? String {
print(firstName)
// Can be a result as "<null>" because of server result
}

我还可以补充@Vadian说的话。责怪网站所有者发送真正的空值,而不是字符串化的空值。