You should use a JSON scanner.
Ensure that you have the JSON in an NSString, not an NSData.
Here is a method that uses an NSScanner instead of a regular expression:
NSMutableArray *pointList = [NSMutableArray array];
NSString *pointsString;
BOOL success = YES;
NSScanner *scanner = [NSScanner scannerWithString:encodedPoints];
while (YES) {
success = [scanner scanUpToString:@"points:\"" intoString:nil];
success = [scanner scanString:@"points:\"" intoString:nil];
if (success == NO)
break;
success = [scanner scanUpToString:@"\"" intoString:&pointsString];
[pointList addObject:pointsString];
}
// Show results by print lengths of the found points
for (NSString *point in pointList)
NSLog(@"point length: %i", point.length);
NSLog output:
point length: 22058
point length: 8889