2014-06-06 2 views
0

나는 다음과 같은있는 NSData 있습니다NSData에 거짓 단어가 포함 된 구문 분석을 처리하는 방법은 무엇입니까?

{"userClientToken":"ce99402d23eb33288b0cewrwer324248977","passpin":false} 

passpin 값이 내가있는 NSDictionary에이 데이터를 분석하면

내가 모두 거짓 0으로 passpin 얻을/0/1 거짓 일 수 있으며, 0 어쨌든 거기 "false", "0", "1"과 같은 문자열로 가져올 수 있습니까?

+1

원하는 것이 분명하지 않습니다. NSJSONSerialization은'true'와'false' (따옴표 제외)를 NSNumber 값으로 파싱합니다. 숫자의 objCType을 검사하면 부울로 나타납니다.하지만 확실하지 않습니다. 위의'false' 값은 ** 문자열이 아니라 ** 부울 값이며 본질적으로 0과 구별 할 수 없습니다. (JSON에서'false'와'0'의 의미에는 차이가 없습니다.) –

답변

-1

있는 NSDictionary의 핵심 passpin은 0

역 직렬화 할 것은 괜찮아요은 2 단계로 진행됩니다. 먼저 JSON을 NSDictionary로 비 직렬화 한 다음이를 사용하여 키 값 코딩 setValuesForKeysWithDictionary를 사용하여 클래스의 인스턴스를 초기화합니다.

@interface MyClass : NSObject 

@property (nonatomic, strong) NSString* userClientToken; 
@property (nonatomic, assign) BOOL passpin; 

- (id) initWithDictionary:(NSDictionary *)dict; 

@end 

@implementation MyClass 

@synthesize userClientToken, passpin; 

- (id) initWithDictionary:(NSDictionary *)dict { 
    self = [super init]; 
    if (self) { 
     [self setValuesForKeysWithDictionary:dict]; 
    } 
} 

@end 
+0

왜 downvote입니까? 그 대답이다. –