Вы сказали, что сервер отправляет этот JSON обратно с Content-Type: text/plain
. Данные, как представляется, в UTF-16 (возможно, что это основано на скриншоте), но набор символов по умолчанию для text/plain
является us-ascii
(см §4.1.2 из RFC2046):
4.1.2. Charset Параметр
Критическим параметром, который может быть указан в поле Content-Type для «текстовых/простых» данных, является набор символов. Это задается с помощью параметра «кодировок», как в:
Content-type: text/plain; charset=iso-8859-1
В отличии от некоторых других значений параметров, значение параметра кодировки не чувствительно к регистру. Набор символов по умолчанию, который должен быть принят в отсутствие параметра charset, является US-ASCII.
Таким образом, вам необходимо изменить ответ от сервера таким образом, чтобы он правильно идентифицировал используемый набор символов, например. Content-Type: text/plain; charset=UTF-16
(очевидно, чтобы сначала убедиться, что это, по сути, кодировка ресурса).
Замечу лишь, что, от того, что я могу сделать из JSON, это выглядит, как это в основном в западном сценарии. Если это так, UTF-16 является необычным и неэффективным выбором, вам, вероятно, будет лучше работать с UTF-8. Но у меня есть только небольшой фрагмент текста для работы.
http://stackoverflow.com/questions/25743994/syntaxerror-json-parse-unexpected-character-at-line-1-column-1-of-the-json-dat –
Очевидно, что проблема идентификации набора символов , сервер, похоже, отвечает UTF-16. Что такое заголовок 'Content-Type' в ответе? –
@Rino в этом вопросе проблемы были относительно PHP. И я пробовал это решение, но не повезло. –