下载MetaTrader 5

请观看如何免费下载自动交易

有趣的脚本?
因此发布一个链接 -
让其他人评价

喜欢这个脚本? 在MetaTrader 5客户端尝试它

2015.11.04 10:55
程序库

JSON Serialization and Deserialization (native MQL) - MetaTrader 5程序库

| Chinese English Русский Español Deutsch 日本語 Português

显示:
405
等级:
投票: 28
\MQL5\Scripts\\MQL5\Include\
jason.mqh (30.27 KB)预览

JSON 协议序列化和逆序列化。代码从高速的 С++ 程序库移植而来。

string in, out;
CJAVal js(NULL, jtUNDEF); bool b;

//---
Print("JASon 逆序列化例程:");

in="{\"a\":[1,2]}"; out=""; // 输入数据样本
b=js.Deserialize(in); // 逆序列化
js.Serialize(out); // 再次序列化
Print(in+" -> "+out); // 输出比较

//---
Print("JASon 序列化例程:");

js["Test"]=1.4; // 输入数据样本
out=""; js.Serialize(out); // 序列化
Print(out); // 输出



实践例程: 在网站上授权并解析响应

CJAVal jv;
jv["login"]="Login"; // 登录名
jv["password"]="Pass"; // 口令

//--- 字符串序列化  {"login":"Login","password":"Pass"}
char data[]; 
ArrayResize(data, StringToCharArray(jv.Serialize(), data, 0, WHOLE_ARRAY)-1);

//--- 发送数据
char res_data[];
string res_headers=NULL;
int r=WebRequest("POST", "http://my.site.com/Authorize", "Content-Type: text/plain\r\n", 5000, data, res_data, res_headers);

//--- 假设应答 {"accessToken":"ABRAKADABRA","session_id":124521}
//--- 获取访问令牌
jv.Deserialize(res_data);
string AccessToken=jv["accessToken"].ToStr();



您可以发送与 Web 资源配合工作的例子来展现您的感激之情。共享您的以 MQL 编写 JSON 的经验。

本文译自 MetaQuotes Software Corp. 撰写的俄文原文
官方代码: https://www.mql5.com/ru/code/13663

ForecastOscilator_HTF ForecastOscilator_HTF

指标 ForecastOscilator 在输入参数中有时间帧选项。

Flat_HTF Flat_HTF

横盘指标在输入参数中有时间帧选项。

FX5_SelfAdjustingRSI_HTF FX5_SelfAdjustingRSI_HTF

指标 SelfAdjustingRSI 在输入参数中有时间帧选项。

FX5_SelfAdjustingCCI FX5_SelfAdjustingCCI

带有超买/超卖区域边界的 CCI 振荡器所形成的布林带。