MetaTrader 5 / ライブラリ

JSON - MetaTrader 5のためのライブラリ

289
(5)
これは、mql5におけるjsonシリアライゼーションとデシリアライゼーション機能の私の実装である

npm i mql5-json
example:
をダウンロードするには、npmパッケージ・マネージャーを使う こともできる。
 #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 ) // ブーリアン             .add( 123456 ) // 数             .add( "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; }

作者: Kuzme Shevelev (seffele@gmail.com) github: https://github.com/Senails/mql5-json


MetaQuotes Ltdによってロシア語から翻訳されました。
元のコード: https://www.mql5.com/ru/code/53107