Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Caché Новый топик    Ответить
 Подскажите пожалуйста  [new]
AlexKB
Member

Откуда: Запорожье
Сообщений: 728
Получаю из другой системы: \u042d\u0442\u043e \u043c\u043e\u0439 ...
Что-то не пойму, могу я $ZCVT() перекодировать такое в читаемое по-русски..?
Товаристчщ один постарался в последний момент и в отпуск ушел...
31 июл 17, 14:39    [20688239]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите пожалуйста  [new]
AlexKB
Member

Откуда: Запорожье
Сообщений: 728
AlexKB,
Ой, это я уже зарапортовался совсем...
"JS"
31 июл 17, 14:43    [20688283]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите пожалуйста  [new]
AlexKB
Member

Откуда: Запорожье
Сообщений: 728
Вот только боюсь - не будет ли никаких потерь при таком преобразовании:
$ZCVT(httprequest.HttpResponse.Data.Read(),"I","JS")
31 июл 17, 14:50    [20688361]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите пожалуйста  [new]
eduard93
Member

Откуда:
Сообщений: 133
AlexKB, это средне распространённая кодировка JSON, преобразую через:
$ZCVT(httprequest.HttpResponse.Data.Read(),"I","JSON") 

Думаю JS тоже будет нормально работать.
31 июл 17, 19:41    [20689477]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите пожалуйста  [new]
AlexKB
Member

Откуда: Запорожье
Сообщений: 728
eduard93,
“JS” (or “JSML”) which uses a supplied JavaScript translation table to convert to the format for Zen component pages.
а про "JSON" ни слова...
или, как всегда, документация отстает от реалий, или это к разряду недокументированного...

Все равно, Спасибо!
1 авг 17, 08:16    [20690041]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите пожалуйста  [new]
Блок А.Н.
Member

Откуда: Новосибирск
Сообщений: 3535
AlexKB,

JSON, кажется, в последних версиях только появился.
1 авг 17, 08:20    [20690049]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите пожалуйста  [new]
AlexKB
Member

Откуда: Запорожье
Сообщений: 728
Блок А.Н.,
я на 2016.1 пробую...
Кстати, если возвращаемую строку не преобразовать сразу же, то в объект JSON она уже корректно не конвертируется.
1 авг 17, 08:43    [20690093]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите пожалуйста  [new]
Блок А.Н.
Member

Откуда: Новосибирск
Сообщений: 3535
AlexKB,

не понял последнюю фразу.
1 авг 17, 09:35    [20690247]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите пожалуйста  [new]
AlexKB
Member

Откуда: Запорожье
Сообщений: 728
Блок А.Н.,
если так:
set OutStr=$ZCVT(httprequest.HttpResponse.Data.Read(),"I",TypeZCVT)
set st=##class(%ZEN.Auxiliary.jsonProvider).%ConvertJSONToObject(OutStr,,.reqObject)
то все свойства полученного объекта reqObject корректны.

а если вот так:
set OutStr=httprequest.HttpResponse.Data.Read()
set st=##class(%ZEN.Auxiliary.jsonProvider).%ConvertJSONToObject(OutStr,,.reqObject)
то свойства полученного объекта reqObject содержащие символы кириллицы - не корректны, потом их уже нет смысла преобразовывать.
1 авг 17, 09:46    [20690297]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите пожалуйста  [new]
eduard93
Member

Откуда:
Сообщений: 133
AlexKB, исправлено для новых динамических объектов:

set obj = {}.$fromJSON(httprequest.HttpResponse.Data)

Выдаёт корректный объект.
2 авг 17, 00:15    [20693272]     Ответить | Цитировать Сообщить модератору
Все форумы / Caché Ответить