Objective-C: JSON Непризнанный ведущий персонаж - PullRequest
0 голосов
/ 07 августа 2011

при попытке выполнить небольшую функцию для получения массива с использованием JSON я получаю следующее сообщение:

-JSONValue failed. Error trace is: ( "Error Domain=org.brautaset.JSON.ErrorDomain Code=3 \"Unrecognised leading character\" UserInfo=0x5d50e30 {NSLocalizedDescription=Unrecognised leading character}"

Это код

NSString * payloadAsString = [[NSString alloc] initWithData:receivedData 
                               encoding:NSUTF8StringEncoding];
NSLog(@"%@",payloadAsString);
NSMutableArray *jsonArray = [[NSMutableArray alloc] initWithArray:
                                 [payloadAsString JSONValue]];
self.loginArray = jsonArray;

NSLogпечатает [["True","1","MTY"]] (насколько я знаю, это должно работать).

Есть идеи?

Ответы [ 3 ]

3 голосов
/ 08 августа 2011

Я не уверен, какую версию 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 действительно проверяет, поэтому ваша проблема в другом месте.

1 голос
/ 08 августа 2011

Убедитесь, что в ваших строковых значениях используется правильный прямой символ двойной кавычки. Я видел, как люди пытаются скопировать и вставить JSON из редактора только для того, чтобы их кавычки превратились в открытые кавычки, такие как:

«»

0 голосов
/ 23 января 2014

У меня просто была эта проблема, и оказалось, что разрешения для каталога, используемого веб-службой, были изменены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...