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

 
Привет, прежде всего, спасибо за этот очень мощный инструмент - нет ли случайно какой-нибудь документации? Или примеров использования? С теплыми пожеланиями
 

v 1.09

- добавлена возможность сериализовать дабл числа с указанной точностью (по умолчанию было 8 знаков).
Для этого добавлен параметр точности m_prec, который можно задавать как вручную так и при вызове конструктора или функции Add

- исправлен баг в МТ4 из-за отличного от МТ5 поведения функции ArrayCopy (константа WHOLE_ARRAY различная)

Файлы:
JAson.mqh  31 kb
 
o_o:

v 1.09

- добавлена возможность сериализовать дабл числа с указанной точностью (по умолчанию было 8 знаков).
Для этого добавлен параметр точности m_prec, который можно задавать как вручную так и при вызове конструктора или функции Add

- исправлен баг в МТ4 из-за отличного от МТ5 поведения функции ArrayCopy (константа WHOLE_ARRAY различная)

Обновил на всех языках
 

обращение из моего кода к ArraySize( js["значение json"] );

выдает ошибку компиляции

'operator[]' - variable expected


использую mql 4


для решения проблемы добавил в JAson.mqh:

int size() { return ArraySize(m_e); } 

для определения размера массива


вопрос: как то предусмотрено определение размера массива?

может я не нашел.


видимо нужно делать так

ArraySize( js["значение json"].m_e )


внутренняя функция size() удобней как по мне

 

1.10

Добавлена функция int Size() для возврата количества элементов

пример

n=js["object_name"].Size(); // количество элементов в объекте
n=js["array_name"].Size(); // количество элементов в массиве

// альтернатива
n=ArraySize(js["object_name"].m_e);
n=ArraySize(js["array_name"].m_e);

Файлы:
JAson.mqh  31 kb
 
o_o:

1.10

Добавлена функция int Size() для возврата количества элементов

пример

n=js["object_name"].Size(); // количество элементов в объекте
n=js["array_name"].Size(); // количество элементов в массиве

// альтернатива
n=ArraySize(js["object_name"].m_e);
n=ArraySize(js["array_name"].m_e);


Отлично! хорошая работа спасибо за код!

 

v 1.11

- исправлено дефолтное значение параметра m_prec (на =8) с учетом поведения функции DoubleToString

Если значение m_prec лежит в диапазоне от 0 до 16, то будет получено строковое представление числа с указанным количество знаков после запятой.
Если значение
m_prec лежит в диапазоне от -1 до -16, то будет получено строковое представление числа в научном формате с указанным количеством знаков после запятой.
Во всех остальных случаях строковое представление числа будет содержать 8 знаков после запятой.

Файлы:
JAson.mqh  31 kb
 

v 1.11

- Значение параметра m_prec исправлено (=8)с учетом описания DoubleToString.

Wenn sich der Wert m_prec im Bereich von 0 bis 16 befindet,bekommt man die Zeilendarstellung der Zahl mit der angegebenen Zahl der Dezimalzeichen.
Wenn sich der Wert
m_prec im Bereich von -1 bis -16 befindet, bekommt man Zeilendarstellung der Zahl im wissenschaftlichen Format mit der angegebenen Anzahl der Dezimalzeichen nach dem Komma.
In allen anderen Faellen wird der Zeilenwert der Zahl 8 Dezimalzeichen nach dem Komma enthalten.


Файлы:
JAson.mqh  31 kb
 

Спасибо!
Замечательная библиотека.

 
o_o:

v1.08

Исправлен парсинг массива массивов (например { "a":[[1],[2]] } )


Алексей, а как "собрать" массив массивов? Пишу сейчас библиотеку для телеграм, пользовательская клавиатура представляет собой json объект массива массивов json объектов