Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / JSON.parse и национальные буквы - происходит сбой. / 25 сообщений из 31, страница 1 из 2
27.01.2017, 17:09
    #39393314
Vakho
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JSON.parse и национальные буквы - происходит сбой.
Броузер получает от WEB-сервера данные в виде строки, оформленной для дальнейшего
преобразования в объект тип JSON. Среди данных - текстовая информация, содержащая,
в частности, "национальные" - не латинские или кириллица - буквы.

HttpContext.Response.ContentType = "application/json"

Код: javascript
1.
2.
3.
4.
5.
6.
7.
try {
    jsonTABLE = JSON.parse(Resp);
}
catch (err) {
    alert(err.message); // <== Точка A.
    return false;
}



В точке A выдается сообщение:
"JSON.parse: bad control character in string literal at line 1 column 343 of the JSON data".

Нахожу букву 343 - "национальная" буква.

На всякий случай поменял Response.ContentType на text/html .
Результат - тотже.

Подскажите, пожалуйста, что делать. От JSON-отказываться не хочется.
...
Рейтинг: 0 / 0
27.01.2017, 17:19
    #39393324
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JSON.parse и национальные буквы - происходит сбой.
Vakho,

Передавай свой JSON в кодировке UTF-8, делов-то?
...
Рейтинг: 0 / 0
27.01.2017, 17:29
    #39393336
Vakho
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JSON.parse и национальные буквы - происходит сбой.
hVostt,

Когда при помощи "лисиного" отладчика смотрю значение строчной
переменной Resp - все нормально, "национальные" буквы все
читабельны. А парсер - не берет.
...
Рейтинг: 0 / 0
27.01.2017, 17:43
    #39393346
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JSON.parse и национальные буквы - происходит сбой.
Vakho,

Ну скинь сюда пример JSON, который у тебя не работает.
...
Рейтинг: 0 / 0
27.01.2017, 17:51
    #39393362
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JSON.parse и национальные буквы - происходит сбой.
Vakho,

a encoding какой в твоём Content-Type ?
...
Рейтинг: 0 / 0
27.01.2017, 18:09
    #39393375
Vakho
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JSON.parse и национальные буквы - происходит сбой.
hVostt,

Не могу переслать: когда форму заполнял, буквы были читабельны.
А как просмотр сделал, они все в вопросительные знаки превратились.
...
Рейтинг: 0 / 0
27.01.2017, 18:10
    #39393380
Vakho
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JSON.parse и национальные буквы - происходит сбой.
ИзопропилVakho,

a encoding какой в твоём Content-Type ?

Хороший вопрос. Надо посмотреть.
...
Рейтинг: 0 / 0
27.01.2017, 18:26
    #39393397
Vakho
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JSON.parse и национальные буквы - происходит сбой.
ИзопропилVakho,

a encoding какой в твоём Content-Type ?

Технология: ASP.NET.
Charset - UTF-8;
ContentEncoder - System.Text.UTF8Encoding.UTF8Encoder;
ContentEncoding - System.Text.UTF8Encoding;
ContentType - "application/json";
...
Рейтинг: 0 / 0
27.01.2017, 18:42
    #39393406
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JSON.parse и национальные буквы - происходит сбой.
VakhoА как просмотр сделал, они все в вопросительные знаки превратились.

Когда просмотр делаешь, так и будет.

Вот, наприме́р — ударение над буквой е, ты видишь это ударение, а в препросмотре вопросительные знаки.
...
Рейтинг: 0 / 0
27.01.2017, 18:43
    #39393407
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JSON.parse и национальные буквы - происходит сбой.
VakhoНе могу переслать: когда форму заполнял, буквы были читабельны.

В общем давай свой JSON и не обращай внимания на просмотр.
...
Рейтинг: 0 / 0
27.01.2017, 18:45
    #39393409
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JSON.parse и национальные буквы - происходит сбой.
Vakho,

Вот такой заголовок должен быть:

Content-type: application/json; charset=utf-8
...
Рейтинг: 0 / 0
27.01.2017, 18:48
    #39393410
Vakho
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JSON.parse и национальные буквы - происходит сбой.
hVosttВ общем давай свой JSON и не обращай внимания на просмотр.

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
[{"EOP":0,"RESULT":"OK"},
{"DocumentID":"29e6b4b7-769a-4db3-a96a-d990d50d8f6e",
"Title":"866 - By the RA Governmental decision N-866, 23.06.2011 approved to recognize not valid
the RA Governmental decision 24.05.2007, N 673 - on  Establishment of  &quot;Gilan&quot; State
Sanctuary on the  territory of &quot;Khosrov Forest&quot; State Reserve.[color=red]&#1344;&#1344;[/color] &#1391;&#1377;&#1404;&#1377;&#1406;&#1377;&#1408;&#1400;&#1410;&#1385;&#1397;&#1377;&#1398; 
23.06.2011&#1385;. N866 –&#1398; &#1400;&#1408;&#1400;&#1399;&#1396;&#1377;&#1396;&#1378; &#1392;&#1377;&#1405;&#1407;&#1377;&#1407;&#1406;&#1381;&#1388; &#1383;, &#1400;&#1408; &#1400;&#1386;&#1384; &#1391;&#1400;&#1408;&#1409;&#1408;&#1377;&#1390; &#1395;&#1377;&#1398;&#1377;&#1401;&#1381;&#1388; &#1344;&#1377;&#1397;&#1377;&#1405;&#1407;&#1377;&#1398;&#1387; 
&#1344;&#1377;&#1398;&#1408;&#1377;&#1402;&#1381;&#1407;&#1400;&#1410;&#1385;&#1397;&#1377;&#1398; &#1391;&#1377;&#1404;&#1377;&#1406;&#1377;&#1408;&#1400;&#1410;&#1385;&#1397;&#1377;&#1398; 2007 &#1385;&#1406;&#1377;&#1391;&#1377;&#1398;&#1387; &#1396;&#1377;&#1397;&#1387;&#1405;&#1387; 24-&#1387; «&#1341;&#1400;&#1405;&#1408;&#1400;&#1406;&#1387; &#1377;&#1398;&#1407;&#1377;&#1404;» &#1402;&#1381;&#1407;&#1377;&#1391;&#1377;&#1398; 
&#1377;&#1408;&#1379;&#1381;&#1388;&#1400;&#1409;&#1387; &#1407;&#1377;&#1408;&#1377;&#1390;&#1412;&#1400;&#1410;&#1396; «&#1331;&#1387;&#1388;&#1377;&#1398;» &#1402;&#1381;&#1407;&#1377;&#1391;&#1377;&#1398; &#1377;&#1408;&#1379;&#1381;&#1388;&#1377;&#1406;&#1377;&#1397;&#1408; &#1405;&#1407;&#1381;&#1394;&#1390;&#1381;&#1388;&#1400;&#1410; &#1396;&#1377;&#1405;&#1387;&#1398; 673-&#1398; &#1400;&#1408;&#1400;&#1399;&#1400;&#1410;&#1396;&#1384;. "}]



Красные буквы - это на них сбился парсер.
...
Рейтинг: 0 / 0
27.01.2017, 18:51
    #39393411
Vakho
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JSON.parse и национальные буквы - происходит сбой.
Vakho,

Повтор. Без раскрашивания.

[{"EOP":0,"RESULT":"OK"},
{"DocumentID":"29e6b4b7-769a-4db3-a96a-d990d50d8f6e",
"Title":"866 - By the RA Governmental decision N-866, 23.06.2011 approved to recognize not valid
the RA Governmental decision 24.05.2007, N 673 - on Establishment of "Gilan" State
Sanctuary on the territory of "Khosrov Forest" State Reserve.ՀՀկառավարո
ւթյան
23.06.2011թ. N866 –ն
որոշմամբ
հաստատվել է,
որ ոժը
կորցրած
ճանաչել
Հայաստանի
Հանրապետութ
յան
կառավարությ
ան 2007 թվականի
մայիսի 24-ի
«Խոսրովի
անտառ»
պետական
արգելոցի
տարածքում
«Գիլան»
պետական
արգելավայր
ստեղծելու
մասին 673-ն
որոշումը. "}]
...
Рейтинг: 0 / 0
27.01.2017, 19:01
    #39393419
Alexander A. Sak
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JSON.parse и национальные буквы - происходит сбой.
Вот прям так с переводами строк?
...
Рейтинг: 0 / 0
27.01.2017, 19:03
    #39393423
Vakho
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JSON.parse и национальные буквы - происходит сбой.
hVosttVakho,

Вот такой заголовок должен быть:

Content-type: application/json; charset=utf-8

Сделал так:
Код: vbnet
1.
2.
HttpContext.Response.ContentType = "application/json; charset=utf-8"
HttpContext.Response.Write(Resp)



Все равно сбивается на том же месте.
...
Рейтинг: 0 / 0
27.01.2017, 19:05
    #39393424
Vakho
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JSON.parse и национальные буквы - происходит сбой.
Alexander A. SakВот прям так с переводами строк?

Не, разумеется нет. Никаких переводов строк. Это я пытался оформить текст.
...
Рейтинг: 0 / 0
27.01.2017, 19:11
    #39393426
Vakho
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JSON.parse и национальные буквы - происходит сбой.
Ещё раз попытаюсь передать текст.
Сбой происходит после слов State Reserve .
Даже неудобно. Ветку зафлудил.

[{"EOP":0,"RESULT":"OK"},{"DocumentID":"29e6b4b7-769a-4db3-a96a-d990d50d8f6e","Title":"866 - By the RA Governmental decision N-866, 23.06.2011 approved to recognize not valid the RA Governmental decision 24.05.2007, N 673 - on Establishment of "Gilan" State Sanctuary on the territory of "Khosrov Forest" State Reserve .ՀՀ կառավարության 23.06.2011թ. N866 –ն որոշմամբ հաստատվել է, որ ոժը կորցրած ճանաչել Հայաստանի Հանրապետության կառավարության 2007 թվականի մայիսի 24-ի «Խոսրովի անտառ» պետական արգելոցի տարածքում «Գիլան» պետական արգելավայր ստեղծելու մասին 673-ն որոշումը. "}]
...
Рейтинг: 0 / 0
27.01.2017, 19:23
    #39393433
Alexander A. Sak
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JSON.parse и национальные буквы - происходит сбой.
И все-таки похоже на неправильный charset от сервера.
Надо смотреть что именно приходит. В Developer Tools браузера.
...
Рейтинг: 0 / 0
27.01.2017, 19:44
    #39393436
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JSON.parse и национальные буквы - происходит сбой.
Vakho,

аттачем приложи json - аттаачем приложи json свой, чтоб броузер и sql.ru не вмешивались.


То что видно из чертежа - в поле Title - обычный HTML и entity коды
...
Рейтинг: 0 / 0
27.01.2017, 19:44
    #39393437
Vakho
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JSON.parse и национальные буквы - происходит сбой.
Alexander A. SakИ все-таки похоже на неправильный charset от сервера.
Надо смотреть что именно приходит. В Developer Tools браузера.

А как в Developer Tools браузера посмотреть ?
Никогда так далеко в дебри протокола не лазил.
Я "лисиным" отладчиком пользуюсь.
...
Рейтинг: 0 / 0
27.01.2017, 19:46
    #39393438
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JSON.parse и национальные буквы - происходит сбой.
VakhoЯ "лисиным" отладчиком пользуюсь.
это и есть Developer Tools браузера

кому-то больше FireBug нравится
...
Рейтинг: 0 / 0
27.01.2017, 20:01
    #39393441
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JSON.parse и национальные буквы - происходит сбой.
VakhoСбой происходит после слов State Reserve .
Даже неудобно. Ветку зафлудил.

Однозначно кодировка не верная, либо неправильную кодировку сервер отдаёт, либо заведомо данные в некорректной кодировке.

Нужен оригинальный JSON файл.
...
Рейтинг: 0 / 0
27.01.2017, 20:09
    #39393447
Vakho
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JSON.parse и национальные буквы - происходит сбой.
Alexander A. SakИ все-таки похоже на неправильный charset от сервера.

Взял и примитивно alert-ом вывел свежеполученный от WEB-сервера результат - см.
картинку. Видно, что все армянские буквы вышли нормально. Но после State Reserve -
перенос на следующую строку. Может быть там CR/LF стоит ?
...
Рейтинг: 0 / 0
27.01.2017, 20:24
    #39393452
Vakho
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JSON.parse и национальные буквы - происходит сбой.
[quot Vakho
... Видно, что все армянские буквы вышли нормально. Но после State Reserve -
перенос на следующую строку. Может быть там CR/LF стоит ?[/quot]

Ну, короче.
Перед тем, как передать броузеру ответ, на серверной стороне я заменил CR/LF и CR
пробелами:
Код: vbnet
1.
st = st.Replace(vbCrLf, " ").Replace(vbCr, " ")


И все получилось !
...
Рейтинг: 0 / 0
27.01.2017, 20:26
    #39393453
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JSON.parse и национальные буквы - происходит сбой.
VakhoВзял и примитивно alert-ом вывел
бессмысленно, аттачметом ответ сервера - в студию
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / JSON.parse и национальные буквы - происходит сбой. / 25 сообщений из 31, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]