我使用此代码从网站获取JSON:
+(NSDictionary *)parseJSONFromURLString:(NSString *)urlString {
NSURL *url = [NSURL URLWithString:urlString];
NSString *jsonAsString = [NSString stringWithContentsOfURL:url
encoding:NSUTF8StringEncoding
error:nil];
NSData *json = [jsonAsString dataUsingEncoding:NSUTF8StringEncoding];
return [NSJSONSerialization JSONObjectWithData:json options:0 error:nil];
}
当我调用此方法并调试时:
NSDictionary *response = [APIUtils parseJSONFromURLString:[queryBuilder questionsFromTime:time WithPageSize:100 WithPage:1]];
我可以在parseJSONFromURLString(NSString)方法中查看jsonAsString变量我可以看到元素“has_more”,其值为true:
..., "has_more":true, ....
但如果我看一下responseVariable(NSDictionary),我会看到下一张图片:
该值具有__NSCFBoolean类型和0X7fff79d377f0值。
如何将此类型转换为BOOL并将其检查为true或false?
答案 0 :(得分:2)
使用此if语句应检测该键的值是true还是false。
if([[response objectForKey:@"has_more"] isEqual:[NSNumber numberWithBool:true]]){
//hits here if this value is true
}else{
//and here if it's not.
}
我希望这是你正在寻找的。 p>
答案 1 :(得分:1)
实际上是NSNumber
,您可以获得boolValue
。
答案 2 :(得分:1)