Имя: Пароль:
1C
1С v8
Json кириллица
,
0 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

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

ЗаписьJSON = Новый ЗаписьJSON;
...
СтрокаJSON = ЗаписьJSON.Закрыть();
7 Su60ta_SunRise
 
07.02.20
13:56
верно методом закрыть сделал
8 Salimbek
 
07.02.20
14:24
(0) А с чего вы решили, что оно приходит именно так? Вполне может быть, что приходит нормально, а только вам, при просмотре, отображается вот так вот криво.
9 timurhv
 
07.02.20
14:25
(7) отправьте пакет для теста через стороннее ПО, например расширение Talend API Tester для Chrome.
10 Su60ta_SunRise
 
07.02.20
15:05
(9) попробовал та же проблема с кирилицей
11 timurhv
 
07.02.20
15:07
(10) Их сотрудник может пример curl запроса предоставить?
12 drcrasher
 
07.02.20
15:09
(0) попробуй  HTTPЗапрос.УстановитьТелоИзСтроки(СтрокаJSON);
13 Su60ta_SunRise
 
07.02.20
15:17
(12) Пробовал)
14 Su60ta_SunRise
 
07.02.20
15:18
(11) решили что спец на их стороне напишет декодер.
объем данных не большой
15 Salimbek
 
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", значит проблема "на их стороне"
16 pechkin
 
07.02.20
15:55
ну так вроде и не шлет
17 Su60ta_SunRise
 
07.02.20
17:07
(15) да вы правы, спасибо
18 Fragster
 
гуру
07.02.20
17:45
стоит отметить, что многие ждут, что в json символы не из диапазона ISO-LATIN будут закодированы через юникод-последовательности
19 Сияющий в темноте
 
07.02.20
18:39
стандарт для кодирования при передаче utf8,если что-то другое,то кодировка должна быть явно указана.
еще есть заголовок Accept-Charset,для случаев,когда все должно быть правильно.
20 Salimbek
 
07.02.20
19:54
(19) Вообще-то стандарт для json будет что-то типа: \u0418\u0432\u0430\u043d\u043e\u0432
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.