powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / JSON.parse и национальные буквы - происходит сбой.
31 сообщений из 31, показаны все 2 страниц
JSON.parse и национальные буквы - происходит сбой.
    #39393314
Фотография Vakho
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Броузер получает от 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
JSON.parse и национальные буквы - происходит сбой.
    #39393324
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vakho,

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

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

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

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

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

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

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

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

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

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

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

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

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

Content-type: application/json; charset=utf-8
...
Рейтинг: 0 / 0
JSON.parse и национальные буквы - происходит сбой.
    #39393410
Фотография Vakho
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
JSON.parse и национальные буквы - происходит сбой.
    #39393411
Фотография Vakho
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
JSON.parse и национальные буквы - происходит сбой.
    #39393419
Alexander A. Sak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот прям так с переводами строк?
...
Рейтинг: 0 / 0
JSON.parse и национальные буквы - происходит сбой.
    #39393423
Фотография Vakho
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
JSON.parse и национальные буквы - происходит сбой.
    #39393424
Фотография Vakho
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander A. SakВот прям так с переводами строк?

Не, разумеется нет. Никаких переводов строк. Это я пытался оформить текст.
...
Рейтинг: 0 / 0
JSON.parse и национальные буквы - происходит сбой.
    #39393426
Фотография Vakho
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ещё раз попытаюсь передать текст.
Сбой происходит после слов 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
JSON.parse и национальные буквы - происходит сбой.
    #39393433
Alexander A. Sak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И все-таки похоже на неправильный charset от сервера.
Надо смотреть что именно приходит. В Developer Tools браузера.
...
Рейтинг: 0 / 0
JSON.parse и национальные буквы - происходит сбой.
    #39393436
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vakho,

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


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

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

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

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

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

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

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


И все получилось !
...
Рейтинг: 0 / 0
JSON.parse и национальные буквы - происходит сбой.
    #39393453
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VakhoВзял и примитивно alert-ом вывел
бессмысленно, аттачметом ответ сервера - в студию
...
Рейтинг: 0 / 0
JSON.parse и национальные буквы - происходит сбой.
    #39393455
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vakho И все получилось ! а говорил, что переводы строки руками вставил для показа нам...
...
Рейтинг: 0 / 0
JSON.parse и национальные буквы - происходит сбой.
    #39393463
Alexander A. Sak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VakhoAlexander A. SakВот прям так с переводами строк?

Не, разумеется нет. Никаких переводов строк. Это я пытался оформить текст.

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


И все получилось !

Вот и верь после этого людям... (с)
...
Рейтинг: 0 / 0
JSON.parse и национальные буквы - происходит сбой.
    #39393468
Фотография Vakho
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропилбессмысленно, аттачметом ответ сервера - в студию
...
Рейтинг: 0 / 0
JSON.parse и национальные буквы - происходит сбой.
    #39393469
Фотография Vakho
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропилбессмысленно, аттачметом ответ сервера - в студию

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

В оригинале действительно был один-единственный CR/LF.
Остальные я потом навставлял для оформления текста в форме ответа.
А потом, когда я вывел alert-ом - смотрю, что-то интересное.
Ну, а далше вы уже знаете. Позже я заменил CR/LF тегом <br/> и тоже все получилось !
...
Рейтинг: 0 / 0
JSON.parse и национальные буквы - происходит сбой.
    #39393500
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VakhoВ оригинале действительно был один-единственный CR/LF.
достаточно одной таблетки (с)

заменять перевод строки на пробел - не лучшее решение. заменять нужно на корректное представление перевода строки в JSON. как вариант -JSON не руками делать, а сериализатором
...
Рейтинг: 0 / 0
31 сообщений из 31, показаны все 2 страниц
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / JSON.parse и национальные буквы - происходит сбой.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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