Updates AFJSONRequestOperation to allow JSON parsing options since it is now using the NSJSONSerialization class by default

This commit is contained in:
Jeremy Foo 2012-10-17 14:08:41 +08:00 committed by Mattt Thompson
parent 4b2c2818a1
commit 5d37e534f7
2 changed files with 7 additions and 2 deletions

View file

@ -33,7 +33,7 @@
- `application/json`
- `text/json`
@warning JSON parsing will automatically use JSONKit, SBJSON, YAJL, or NextiveJSON, if provided. Otherwise, the built-in `NSJSONSerialization` class is used, if available (iOS 5.0 and Mac OS 10.7). If the build target does not either support `NSJSONSerialization` or include a third-party JSON library, a runtime exception will be thrown when attempting to parse a JSON request.
@warning JSON parsing will use the built-in `NSJSONSerialization` class.
*/
@interface AFJSONRequestOperation : AFHTTPRequestOperation
@ -46,6 +46,11 @@
*/
@property (readonly, nonatomic, strong) id responseJSON;
/**
A bitmask of options that will be used by the NSJSONSerialization class that parses the JSON data from the response.
*/
@property (readwrite) NSJSONReadingOptions parseOptions;
///----------------------------------
/// @name Creating Request Operations
///----------------------------------

View file

@ -66,7 +66,7 @@ static dispatch_queue_t json_request_operation_processing_queue() {
if ([self.responseData length] == 0) {
self.responseJSON = nil;
} else {
self.responseJSON = [NSJSONSerialization JSONObjectWithData:self.responseData options:0 error:&error];
self.responseJSON = [NSJSONSerialization JSONObjectWithData:self.responseData options:self.parseOptions error:&error];
}
self.JSONError = error;