Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Json кириллица

Json кириллица
Я
   Su60ta_SunRise
 
07.02.20 - 13:39
JSon методом пост положил в на хост
Кириллица не переводится
Вот код:
  Заголовки = Новый Соответствие;
  Заголовки.Вставить("Content-Type","application/json; charset=utf-8");
  
  
  HTTPЗапрос = Новый HTTPЗапрос("/",Заголовки);
  
  
  HTTPЗапрос.УстановитьТелоИзСтроки(СтрокаJSON, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать);


Вот это как приходит

"Warehouse": "ecf932ff-427f-11ea-a087-005056b6fe75"
"Product": "Мягкое пальто"
"specifications": "42, Молочный"
"QuantityBalance": 1


Заглоовки

accept
*/*
content-type
application/json;charset=utf-8
user-agent
1C+Enterprise/8.3
content-length
24612
connection
keep-alive

подскажет кто?
   timurhv
 
1 - 07.02.20 - 13:52
(0) Что в СтрокаJSON?
   Su60ta_SunRise
 
2 - 07.02.20 - 13:53
(1) {
"Products": [
{
"Warehouse": "ecf932ff-427f-11ea-a087-005056b6fe75",
"Product": "Мягкое пальто",
"specifications": "42, Молочный",
"QuantityBalance": 1
},....
   drcrasher
 
3 - 07.02.20 - 13:53
(0) ох уж эти пыхапышники. что мешает явно указать кодировку, в какой нужно читать полученный жейсон?
   Su60ta_SunRise
 
4 - 07.02.20 - 13:54
(3) мешает отсутствие знаний как это делать)
Что имеется ввиду "явно указать"
   Su60ta_SunRise
 
5 - 07.02.20 - 13:55
(3) я понял, спец с их стороны не хочет "лишних действи" ))
делайте что по русски было.
   timurhv
 
6 - 07.02.20 - 13:56
(2) Просто строку передали или через:

ЗаписьJSON = Новый ЗаписьJSON;
...
СтрокаJSON = ЗаписьJSON.Закрыть();
   Su60ta_SunRise
 
7 - 07.02.20 - 13:56
верно методом закрыть сделал
   Salimbek
 
8 - 07.02.20 - 14:24
(0) А с чего вы решили, что оно приходит именно так? Вполне может быть, что приходит нормально, а только вам, при просмотре, отображается вот так вот криво.
   timurhv
 
9 - 07.02.20 - 14:25
(7) отправьте пакет для теста через стороннее ПО, например расширение Talend API Tester для Chrome.
   Su60ta_SunRise
 
10 - 07.02.20 - 15:05
(9) попробовал та же проблема с кирилицей
   timurhv
 
11 - 07.02.20 - 15:07
(10) Их сотрудник может пример curl запроса предоставить?
   drcrasher
 
12 - 07.02.20 - 15:09
(0) попробуй  HTTPЗапрос.УстановитьТелоИзСтроки(СтрокаJSON);
   Su60ta_SunRise
 
13 - 07.02.20 - 15:17
(12) Пробовал)
   Su60ta_SunRise
 
14 - 07.02.20 - 15:18
(11) решили что спец на их стороне напишет декодер.
объем данных не большой
   Salimbek
 
15 - 07.02.20 - 15:53
(14)  Ради интереса забил скопировал ваш текст сюда: https://www.artlebedev.ru/decoder/

Оно разобралось, что было в исходнике:
"Warehouse": "ecf932ff-427f-11ea-a087-005056b6fe75"
"Product": "Мягкое пальто"
"specifications": "42, Молочный"
"QuantityBalance": 1

Формат: ISO-8859-1 -> UTF-8

Ну и так как вы НЕ шлете свой запрос в кодировке "ISO-8859-1", значит проблема "на их стороне"
   pechkin
 
16 - 07.02.20 - 15:55
ну так вроде и не шлет
   Su60ta_SunRise
 
17 - 07.02.20 - 17:07
(15) да вы правы, спасибо
   Fragster
 
18 - 07.02.20 - 17:45
стоит отметить, что многие ждут, что в json символы не из диапазона ISO-LATIN будут закодированы через юникод-последовательности
   Сияющий в темноте
 
19 - 07.02.20 - 18:39
стандарт для кодирования при передаче utf8,если что-то другое,то кодировка должна быть явно указана.
еще есть заголовок Accept-Charset,для случаев,когда все должно быть правильно.
   Salimbek
 
20 - 07.02.20 - 19:54
(19) Вообще-то стандарт для json будет что-то типа: \u0418\u0432\u0430\u043d\u043e\u0432

Список тем форума
Рекламное место пустует  Рекламное место пустует
2 + 2 = 3.9999999999999999999999999999999...
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.