2017-04-15 4 views
-1

私は残りのAPIを持っていて、Json経由ですべてのデータを取得してからIOS TableViewに入れています。私の問題は、一部のデータは、私が「0」迅速にそのNULL値を取得し、それを文字列に変更しようとしていますが、苦労しそうに抱えていたJSONswift Jsonから来るNULL値を確認するにはどうすればいいですか

NULL
"vote_status":null 

として返されていることです。私が持っているこの今のところ、私はこのコンパイルエラーを取得しかし

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

ゼロヌルが、私はこれを行うことはできませんので、動作するようには思えないので、私はこれをやっているの。

if (vote_status == nil) ... 
+0

あなたがコンソールにJSONから取得している辞書を印刷する場合、あなたは何を見ていますか?印刷する場合は –

+0

、ヌルでなくても何も返されません。ただ空白です –

+0

JSON文字列をオブジェクトに変換する方法がわからない限り、答えはありません。 –

答えて

3

を試すことができます。この

vote_status is NSNull 
1

スウィフト3.0

func checkNull(obj : AnyObject?) -> AnyObject? { 
    if obj is NSNull { 
     return nil 
    } else { 
     return value 
    } 
} 

object.feature = checkNull(dict["feature"]) 

あなたはあなただけ条件付き辞書vをキャストする必要があり、この

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

完璧なことがありがたく –

+0

ようこそ@RomeTorres –

1

を試してみてくださいStringにALUEと失敗nullの場合には"0"を割り当てるには無記号合体演算子??を使用します。

let vote_status = Stream["vote_status"] as? String ?? "0" 
関連する問題