https://www.mql5.com/ru/code/13663

JSON Serialization and Deserialization (native MQL)
- голосов: 34
- 2015.08.18
- o_o
- www.mql5.com
Сериализация и десериализация JSON-протокола. Портированный код со скоростной библиотеки С++. Практичный пример: авторизация на сайте и парсинг ответа Благодарности принимаются в виде примеров, кто как применяет MQL для работы с веб-ресурсами. Поделитесь своим опытом работы с JSON в MQL. В протокол добавлены функции Escape / Unescape...
Taras Slobodyanik:
https://www.mql5.com/ru/code/13663
https://www.mql5.com/ru/code/13663
спасибо, помогла одна функция из этого проекта.
string Unescape(string a) { ushort as[], s[]; int n=StringToShortArray(a, as); if(ArrayResize(s, n)!=n) return NULL; int j=0,i=0; while(i<n) { ushort c=as[i]; if(c=='\\' && i<n-1) { switch(as[i+1]) { case '\\': c='\\'; i++; break; case '"': c='"'; i++; break; case '/': c='/'; i++; break; case 'b': c=8; /*08='\b'*/; i++; break; case 'f': c=12;/*0c=\f*/ i++; break; case 'n': c='\n'; i++; break; case 'r': c='\r'; i++; break; case 't': c='\t'; i++; break; case 'u': // \uXXXX { i+=2; ushort k=0; for(int jj=0; jj<4 && i<n; jj++,i++) { c=as[i]; ushort h=0; if(c>='0' && c<='9') h=c-'0'; else if(c>='A' && c<='F') h=c-'A'+10; else if(c>='a' && c<='f') h=c-'a'+10; else break; // не hex k+=h*(ushort)pow(16,(3-jj)); } i--; c=k; break; } } } s[j]=c; j++; i++; } a=ShortArrayToString(s,0,j); return a; }

Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Есть возвращаемые данные JSON строкой.
Один из параметров имеет вот такую строчку
Как преобразовать символы \u в читаемый текст?