views:

139

answers:

1

Hello,

I have a problem with parsing a JSON result. This is what I get from my HTTP request:

{"subscriptions": [
     {"id":"A", "title":"A title"},  
     {"id":"B", "title":"B title"},  
]}

And this is what I'm doing in my code:

// Getting the result<br>
NSString *str = [[NSString alloc] initWithData:receivedData encoding:NSASCIIStringEncoding];

// Creating the JSON parser<br>
SBJSON *parser = [[SBJSON alloc] init];

// Parse result in an object<br>
NSDictionary *result = [parser objectWithString:str];

So far everything works fine. I have one key/value pair in my result object which I think is the subscriptions object. But the problem is now: How can I access the inner objects of it like the id and title?

Thanks for help.

+2  A: 

The JSON parser will create nested NSArray and NSDictionary objects for you. To get to the array use:

NSArray *array = [result objectForKey:@"subscriptions"];

Then access the objects in the array like so:

NSDictionary *arrayObject = [array objectForIndex:0];

And finally, to get one of the inner objects do:

NSString *stringObject = [arrayObject objectForKey:@"id"];
pheelicks
Thanks you sooo much! It works perfect :-)