在我最近的应用程序中,我收到一个JSON,需要验证objet字符串是否实际上是bool值或普通字符串。
我知道 NSString类有一个方法boolValue
。但是,如果建立负bool值或不是有效的bool值,则此方法返回 NO 。
但是,如果字符串实际上是bool值或普通字符串,我需要在我的应用程序中有不同的行为,因为JSON可以同时具有这两种情况。
任何想法我怎么能实现这个目标?
答案 0 :(得分:2)
您只需创建NSString类别并添加方法isJSONBoolean
@implementation NSString (JSONBoolean)
-(BOOL) isJSONBoolean
{
return [self isEqualToString:@"false"] || [self isEqualToString:@"true"]
|| [self isEqualToString:@"NO"] || [self isEqualToString:@"YES"]
|| [self isEqualToString:@"0"] || [self isEqualToString:@"1"];
}
@end
根据您需要测试的值随意更改。
答案 1 :(得分:1)
来自JSON的BOOL
实际上将包含在NSNumber
中,所以它就像检查对象的类一样简单。
if ([object isKindOfClass:[NSNumber class]]) {
BOOL value = [object boolValue];
}