Search code examples
iphoneobjective-cyajl

iPhone - get data from YAJLiOS parser


I have some code where i using yajl parser:

NSArray *JSONArray = [tempContainer yajl_JSON];
NSLog(@"array of json is = %@",JSONArray);  

and after parsing i got some json data like

{ 
  "account_number": "123", 
  "some_stuff": "231",
}

My question is next: how i get data from specific value of parsed data.

*ex. i want "account_number" , and i get "123"*


Solution

  • You may want to look into the streaming API to build NSMutableDictionaries from JSON:

    NSData *data = [NSData dataWithContentsOfFile:@"example.json"];
    
     YAJLParser *parser = [[YAJLParser alloc] initWithParserOptions:YAJLParserOptionsAllowComments];
     parser.delegate = self;
     [parser parse:data];
     if (parser.parserError)
       NSLog(@"Error:\n%@", parser.parserError);
    
     parser.delegate = nil;
     [parser release];
    
     // Include delegate methods from YAJLParserDelegate 
     - (void)parserDidStartDictionary:(YAJLParser *)parser { }
     - (void)parserDidEndDictionary:(YAJLParser *)parser { }
    
     - (void)parserDidStartArray:(YAJLParser *)parser { }
     - (void)parserDidEndArray:(YAJLParser *)parser { }
    
     - (void)parser:(YAJLParser *)parser didMapKey:(NSString *)key { }
     - (void)parser:(YAJLParser *)parser didAdd:(id)value { }