swift如何检查来自Json的NULL值

时间:2017-04-15 04:14:49

标签: json swift swift3 nsnull

我有一个休息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"
                                }
}

但是我得到了这个编译错误:

  

不能使用索引类型下标“String”类型的值   '(NSNull).Type'(又名'NSNull.Type')

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

if (vote_status == nil) ...

4 个答案:

答案 0 :(得分:4)

您只需要将字典值有条件地转换为字符串,并使用Nil Coalescing Operator ??分配"0"以防{... 1}}:

null

答案 1 :(得分:1)

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 

答案 2 :(得分:1)

你可以试试这个

func checkForNull(value:AnyObject) -> String
    {
        if(value as! NSObject == NSNull() || value as! String == "")
        {
           return " "
        }
        else
        {
            return value as! String
        }
    }

答案 3 :(得分:0)

尝试类似的操作:

if let category = Stream["vote_status"] as? String {
                        print(category)
                    } else {
                        print(category)
                    }