2017-04-15 4 views
-1

나머지 API가 있고 Json을 통해 모든 데이터를 가져 와서 IOS TableView에 저장하고 있습니다. 내 문제는 일부 데이터가 내가 신속한에서 그 NULL 값을 얻을 문자열 "0"으로 변경하려고하지만 힘든 시간을 이렇게 데 JSONswift Json에서 오는 NULL 값을 확인하는 방법

"vote_status":null 

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

; 단지 NULL이 아니더라도 아무 것도 반환하지 않습니다. 그냥 빈 것입니다. –

+0

JSON 문자열을 객체로 변환하는 방법을 알지 못하면 대답 할 방법이 없습니다. –

답변

3

조건부 사전 V를 캐스팅해야 할 수 있습니다 시도 문자열에 ALUE 실패 null의 경우 "0"을 할당 할 무기 호 합체 운영자 ??를 사용

let vote_status = Stream["vote_status"] as? String ?? "0" 
1

스위프트 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 
+0

완벽한 덕분에 –

+0

환영 @RomeTorres –

1

당신이

func checkForNull(value:AnyObject) -> String 
    { 
     if(value as! NSObject == NSNull() || value as! String == "") 
     { 
      return " " 
     } 
     else 
     { 
      return value as! String 
     } 
    } 
당신은 단지 필요