Я не уверен, какую версию json-framework вы используете, но я изменил код для печати оскорбительного символа:
In SBJSONParser.m:
- (BOOL)scanValue:(NSObject **)o
{
...
default:
[self addErrorWithCode:EPARSE description:[NSString stringWithFormat:@"Unrecognised leading character (%x)", c[-1]]];
//[self addErrorWithCode:EPARSE description: @"Unrecognised leading character"];
return NO;
}
Вместо этого вы можете попытаться установить точку останова в этой строке кода.
Кроме того, в общем, вы можете попробовать вставить JSON в JSONLint по номеру http://jsonlint.com/, чтобы проверить, проверяется ли он. Ваш JSON действительно проверяет, поэтому ваша проблема в другом месте.