У меня есть какой-то xml, который возвращается из веб-службы.Я в свою очередь использую xslt, чтобы превратить этот xml в json (я превращаю чужой xml сервис в json-сервис).Мой сервис, который теперь выводит JSON, используется моим приложением для iphone, использующим де-факто структуру iphone json, SBJSON.
Проблема заключается в использовании дросселей метода [string JSONValue], и я вижу, чтоиз-за разрывов строк.И вот, даже часто задаваемые вопросы говорят мне о проблеме, но я не знаю, как ее исправить.
Синтаксическому анализатору не удалось разобрать строку X
Вы уверены, что это законный JSON?Этот фреймворк очень строг, поэтому не будет принимать то, что (по-видимому) несколько валидаторов принимаетВ частности, буквенные символы TAB, NEWLINE или CARRIAGE RETURN (и все другие управляющие символы) в строковых токенах запрещены, но их очень трудно обнаружить.(Разумеется, эти символы допускаются между токенами.)
Если вы получите что-то похожее на приведенное ниже (число может отличаться), то в одной из ваших строк запрещены управляющие символы Unicode.
NSLocalizedDescription = "Неэкранированный управляющий символ '0x9'";
Я попытался использовать строку, например: NSString *myString = [myString stringByReplacingOccurrencesOfString:@"\n" withString:@"\\n"];
Но это не работает.Мой сервис XML не возвращается как CDATA.Насколько я могу судить, в xml есть разрыв строки (как бы я это подтвердил).Я просто хочу точно передать разрыв строки в JSON.
Я действительно потратил на это целый день, так что пришло время спросить.У меня больше нет гордости.Большое спасибо