mql5-json
v2.0.3
Published
JSON parcing and serialization for MQL5 lang
Downloads
590
Readme
This is my implementation of the possibility of serialization and deserialization of json in the mql5 language
example:
#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;
}