Библиотеки: JSON Serialization and Deserialization (native MQL) - страница 4

 
Dennis Kirichenko:

Вопрос от "чайника".

А как можно получить значение ключа, не прибегая к методу поиска ключа?

@Dennis Kirichenko

Добавил оператор[] прямого доступа к элементам массива, а также копирования массива в указанный элемент.

кодебаза до сих пор апрувится. поэтому публикую копию 1.06 здесь.

пример новых функций

   Print("JASon Example Array access:");
   js["DirAccess"][0]=-1; // прямое обращение к элементу по индексу 0, которого еще не было. Элемент сразу создается
   js["DirAccess"][1]=22;
   string a[] = {"test", "add", "to array"};
   for (int i=0; i<3; ++i) js["ArrayAdd"].Add(a[i]); // добавление элемента к массиву
   CJAson* js_ar=js["ArrayCopy"]; js_ar.Set(js["DirAccess"].m_e); // обратить внимание на скобки вокруг 'ArrayCopy'. Он создается новый, и для корректной работы с указателем он должен создасться до обращения к его функции Set
Файлы:
jason.mqh  30 kb
 

Здравствуйте!

Jason.mqh перестал компилироваться на последнем билде 1495.

Подозреваю что из-за п.5

 

 

ну это не проблема )

1.07 - исправлена ошибка компиляции 1495 билда
Файлы:
JAson.mqh  30 kb
 
o_O:

ну это не проблема )

1.07 - исправлена ошибка компиляции 1495 билда
Спасибо, заработало!
 

Супер!

Спасибо огромное. 

 
Во время! Огромное спасибо. Тоже неделю назад столкнулся с тем, что не компилируется, но сначала подумал что сам что-то сделал. )))
 

Супер библиотека.

Однако требует нескольких "косметических" настроек для текущей версии MT5, иначе будут вылетать ошибки.

 

После обновления MetaEditor до версии: 5.00 build 1498 компиляция кода выдает ошибку, приведенную ниже:

cannot implicitly convert type 'string' to 'bool'.

Строка 53: void operator=(string a) { m_type=a?jtSTR:jtNULL; m_sv=a; m_iv=StringToInteger(m_sv); m_dv=StringToDouble(m_sv); m_bv=a!=NULL; }

Похоже, что m_type=a?jtSTR:jtNULL не поддерживается в этой версии.

Файлы:
 
marquez:

Однако для текущей версии MT5 ему требуется несколько "косметических" настроек, иначе будут возникать ошибки.

Для чего?

Версия 1.07 компилируется без ошибок.

 
Автор опубликовал обновление, которое решает эту проблему.