2012-06-29 51 views
2

我解析一個JSON字符串:不正確的bool值

Response: {"success":false,"displaymessage":"UserName or Email already exist. Please try again"} 

我使用的代碼是:

NSLog(@"Result: %@ %@", [responseObject valueForKeyPath:@"success"]? @"YES" : @"NO", [responseObject valueForKeyPath:@"displaymessage"]); 

但是我出來說就是:

Result: YES UserName or Email already exist. Please try again 

我應該是得到一個號碼我做錯了什麼?

回答

4

valueForKeyPath:方法返回一個總是非零的對象(因此您看到YES而不是NO)。如果我沒有記錯,布爾值將被包裝在NSNumber中。你應該從valueForKeyPath:返回的對象拉實際布爾值,像這樣:

[[responseObject valueForKeyPath:@"success"] boolValue]? @"YES" : @"NO" 
+0

感謝了一堆@dasblinkenlight – jini