Merge pull request #73 from dikbrouwer/master

Fixing zero-length JSON response parsing
This commit is contained in:
Mattt Thompson 2011-10-13 07:45:11 -07:00
commit 6cfa6c8140

View file

@ -116,6 +116,10 @@ static dispatch_queue_t json_request_operation_processing_queue() {
if (!_responseJSON && [self isFinished]) { if (!_responseJSON && [self isFinished]) {
NSError *error = nil; NSError *error = nil;
if ([self.responseData length] == 0) {
self.responseJSON = nil;
} else {
#if __IPHONE_OS_VERSION_MIN_REQUIRED > __IPHONE_4_3 || __MAC_OS_X_VERSION_MIN_REQUIRED > __MAC_10_6 #if __IPHONE_OS_VERSION_MIN_REQUIRED > __IPHONE_4_3 || __MAC_OS_X_VERSION_MIN_REQUIRED > __MAC_10_6
if ([NSJSONSerialization class]) { if ([NSJSONSerialization class]) {
self.responseJSON = [NSJSONSerialization JSONObjectWithData:self.responseData options:0 error:&error]; self.responseJSON = [NSJSONSerialization JSONObjectWithData:self.responseData options:0 error:&error];
@ -125,6 +129,7 @@ static dispatch_queue_t json_request_operation_processing_queue() {
#else #else
self.responseJSON = [[JSONDecoder decoder] objectWithData:self.responseData error:&error]; self.responseJSON = [[JSONDecoder decoder] objectWithData:self.responseData error:&error];
#endif #endif
}
self.error = error; self.error = error;
} }