Bibliotheken: JSON Serialization and Deserialization (native MQL) - Seite 6

 
Hallo, zunächst einmal vielen Dank für dieses sehr leistungsfähige Tool - ist zufällig irgendwo eine Dokumentation verfügbar? oder einige weitere Anwendungsbeispiele? Herzliche Grüße
 

v 1.09

- Hinzufügen der Möglichkeit, doppelte Zahlen mit einer bestimmten Genauigkeit zu serialisieren (Standard war 8 Ziffern).
Zu diesem Zweck wurde der Genauigkeitsparameter m_prec hinzugefügt, der entweder manuell oder beim Aufruf des Konstruktors oder der Add-Funktion gesetzt werden kann.

- Fehler in MT4 behoben, der auf ein anderes Verhalten der ArrayCopy Funktion von MT5 zurückzuführen ist (WHOLE_ARRAY Konstante ist anders).

Dateien:
JAson.mqh  31 kb
 
o_o:

v 1.09

- Hinzufügen der Möglichkeit, doppelte Zahlen mit einer bestimmten Genauigkeit zu serialisieren (Standard war 8 Ziffern).
Zu diesem Zweck wurde der Genauigkeitsparameter m_prec hinzugefügt, der entweder manuell oder beim Aufruf des Konstruktors oder der Add-Funktion gesetzt werden kann.

- Fehler in MT4 behoben, der auf ein anderes Verhalten der ArrayCopy-Funktion als in MT5 zurückzuführen ist (WHOLE_ARRAY-Konstante ist anders).

Aktualisiert in allen Sprachen
 

Der Aufruf von ArraySize( js["json value"] ) in meinem Code;

ergibt einen Kompilierungsfehler

'operator[]' - Variable erwartet


Verwendung von mql 4


Um das Problem zu lösen, habe ich JAson.mqh hinzugefügt:

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

um die Array-Größe zu bestimmen


Frage: gibt es eine Möglichkeit, die Array-Größe zu bestimmen?

Vielleicht habe ich es nicht gefunden.


Anscheinend muss man es so machen

ArraySize( js["json value"].m_e )


interne Funktion Größe() ist bequemer für mich.

 

1.10

Funktion int Size() hinzugefügt, um die Anzahl der Elemente zurückzugeben

Beispiel

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

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

Dateien:
JAson.mqh  31 kb
 
o_o:

1.10

Funktion int Size() hinzugefügt, um die Anzahl der Elemente zurückzugeben

Beispiel

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

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


Toll! Gute Arbeit, danke für den Code!

 

v 1.11

- Standardwert des m_prec-Parameters festgelegt (auf =8) unter Berücksichtigung des Verhaltens der Funktion DoubleToString

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

Dateien:
JAson.mqh  31 kb
 

v 1.11

- Der Wert von Parameter m_prec wird korrigiert (=8) angesichts der Beschreibung 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.


Dateien:
JAson.mqh  31 kb
 

Vielen Dank!
Wunderbare Bibliothek.

 
o_o:

v1.08

Parsing von Arrays aus Arrays behoben (z.B. { "a":[[1],[2]] } )


Alexey, wie "parst" man ein Array von Arrays? Ich schreibe gerade eine Bibliothek für Telegram, die benutzerdefinierte Tastatur ist ein json-Objekt von einem Array von Arrays von Arrays von json-Objekten