This is my implementation of the possibility of serialization and deserialization of json in the mql5 language
You can also use the npm package manager to download
authtor: Kuzme Shevelev (seffele@gmail.com)
github: https://github.com/Senails/mql5-json
53107 You can also use the npm package manager to download
npm i mql5-jsonexample:
#include "node_modules/mql5-json/index.mqh" void OnStart() { JSON::Object* json1 = new JSON::Object() .setProperty("number", 123456) .setProperty("string", "text") .setProperty("boolean", true) .setProperty("object", new JSON::Object() .setProperty("number", 123456) .setProperty("string", "text") .setProperty("boolean", true) .setProperty("array", new JSON::Array()) ) .setProperty("array", new JSON::Array() .add(true) // boolean .add(123456) // number .add("string") // string .add(new JSON::Object() .setProperty("number", 123456) .setProperty("string", "text") ) .add(new JSON::Array() .add(true) .add(123456) .add("string") ) ); string exampleText = json1.toString(); Print(exampleText); JSON::Object* json2 = new JSON::Object(exampleText); string objectKeys[]; json2.getKeysToArray(objectKeys); if ( json2.hasValue("array") && json2.isArray("array") && json2.getArray("array").getLength() > 4 && json2.getArray("array").isBoolean(0) && json2.getArray("array").getBoolean(0) == true && json2.getArray("array").isObject(3) && json2.getArray("array").getObject(3).isString("string") && json2.getArray("array").getObject(3).getString("string") == "text" && json2.getArray("array").getObject(3).isNumber("number") && json2.getArray("array").getObject(3).getNumber("number") == double(123456) ) { Print(json2.toString()); Print(json2.toString() == json1.toString()); } delete json1; delete json2; }
authtor: Kuzme Shevelev (seffele@gmail.com)
github: https://github.com/Senails/mql5-json