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

我这样做是因为 nilnull 似乎不起作用,所以我不能这样做。

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