Public Member Functions | Protected Attributes | Properties

YAJLParser Class Reference

JSON parser. More...

#import <YAJLParser.h>

List of all members.

Public Member Functions

(id) - initWithParserOptions:
 Create parser with data and options.
(YAJLParserStatus) - parse:
 Parse data.
(void) - _add:
(void) - _mapKey:
(void) - _startDictionary
(void) - _endDictionary
(void) - _startArray
(void) - _endArray
(NSError *) - _errorForStatus:message:value:
(void) - _cancelWithErrorForStatus:message:value:

Protected Attributes

yajl_handle handle_
__weak id< YAJLParserDelegatedelegate_
YAJLParserOptions parserOptions_
NSError * parserError_

Properties

__weak id< YAJLParserDelegatedelegate
NSError * parserError
YAJLParserOptions parserOptions

Detailed Description

JSON parser.

 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 { }

Member Function Documentation

- (id) initWithParserOptions: (YAJLParserOptions)  parserOptions  

Create parser with data and options.

Parameters:
parserOptions Parser options

  • YAJLParserOptionsNone: No options
  • YAJLParserOptionsAllowComments: Javascript style comments will be allowed in the input (both / / and //)
  • YAJLParserOptionsCheckUTF8: Invalid UTF8 strings will cause a parse error
  • YAJLParserOptionsStrictPrecision: If YES will force strict precision and return integer overflow error
- (YAJLParserStatus) parse: (NSData *)  data  

Parse data.

If streaming, you can call parse multiple times as long as previous calls return YAJLParserStatusInsufficientData.

Parameters:
data 
Returns:
Parser status
  • YAJLParserStatusNone: No status
  • YAJLParserStatusOK: Parsed OK
  • YAJLParserStatusInsufficientData: There was insufficient data
  • YAJLParserStatusError: Parser errored

The documentation for this class was generated from the following files:
 All Classes Functions Properties