swift 如何检查来自 Json 的 NULL 值
swift how can I check for NULL values coming from Json
我休息 api 并通过 Json 获取所有数据,然后将其放入 IOS TableView。我的问题是某些数据在 Json
中作为 NULL
返回
"vote_status":null
我试图在 swift 中获取 NULL
值并将其更改为字符串“0”,但我很难做到。到目前为止我有这个
if var vote_status = Stream["vote_status"] as? String {
if (vote_status == (vote_status)[NSNull]) {
vote_status = "0"
}
}
但是我得到这个编译错误:
Cannot subscript a value of type 'String' with an index of type
'(NSNull).Type' (aka 'NSNull.Type')
我这样做是因为 nil 和 null 似乎不起作用,所以我不能这样做。
if (vote_status == nil) ...
Swift 3.0
func checkNull(obj : AnyObject?) -> AnyObject? {
if obj is NSNull {
return nil
} else {
return value
}
}
object.feature = checkNull(dict["feature"])
试试这个
vote_status is NSNull
你可以试试这个
func checkForNull(value:AnyObject) -> String
{
if(value as! NSObject == NSNull() || value as! String == "")
{
return " "
}
else
{
return value as! String
}
}
您只需要有条件地将字典值转换为 String 并使用 Nil 合并运算符 ??
分配 "0"
以防失败 null
:
let vote_status = Stream["vote_status"] as? String ?? "0"
试试这样:
if let category = Stream["vote_status"] as? String {
print(category)
} else {
print(category)
}
我休息 api 并通过 Json 获取所有数据,然后将其放入 IOS TableView。我的问题是某些数据在 Json
中作为NULL
返回
"vote_status":null
我试图在 swift 中获取 NULL
值并将其更改为字符串“0”,但我很难做到。到目前为止我有这个
if var vote_status = Stream["vote_status"] as? String {
if (vote_status == (vote_status)[NSNull]) {
vote_status = "0"
}
}
但是我得到这个编译错误:
Cannot subscript a value of type 'String' with an index of type '(NSNull).Type' (aka 'NSNull.Type')
我这样做是因为 nil 和 null 似乎不起作用,所以我不能这样做。
if (vote_status == nil) ...
Swift 3.0
func checkNull(obj : AnyObject?) -> AnyObject? {
if obj is NSNull {
return nil
} else {
return value
}
}
object.feature = checkNull(dict["feature"])
试试这个
vote_status is NSNull
你可以试试这个
func checkForNull(value:AnyObject) -> String
{
if(value as! NSObject == NSNull() || value as! String == "")
{
return " "
}
else
{
return value as! String
}
}
您只需要有条件地将字典值转换为 String 并使用 Nil 合并运算符 ??
分配 "0"
以防失败 null
:
let vote_status = Stream["vote_status"] as? String ?? "0"
试试这样:
if let category = Stream["vote_status"] as? String {
print(category)
} else {
print(category)
}