问题是当我想将用户变量转换为字符串时,它说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说的话。责怪网站所有者发送真正的空值,而不是字符串化的空值。