Ios compare boolean from json

I got a boolean from a json object using a dictionary. on the console, I see 0 or 1. But my comparison always returns true.

BOOL *result =[dictionary valueForKey:@"result"];

        if (result == YES) {

            [parser release];
        }
        else {
            errorLbl.text = @"Login failed";
        }
+3
source share
3 answers

You tried to add boolValue at the end [dictionary valueForKey:@"result"]boolValue];

+3
source

You need to convert the value from the dictionary. You cannot translate it directly to pointer BOOL *( BOOL).

Suppose you get NSString*from your dictionary, you can do:

NSString *result = [dictionary valueForKey:@"result"];
if ([result boolValue]) {
    [parser release];
} else {
    errorLbl.text = @"Login failed";
}

Assuming you can use a boolValuemessage with your protocol.

+1
source

Try with the code below, I got

BOOL success = [[jsonDict objectForKey:@"success"] boolValue];
if (success == YES){ //Do some stuff } else{ //Do some stuff }
0
source

All Articles