MQL4でJSONを操作するライブラリおすすめ!

やる気がない、外国のコンビニ店員よりセルフレジにしてくれと、凄く感じているセレブパンダだお。

MQL4からJSON形式のメッセージを作成するには、面倒です。
今回は、JSON形式のメッセージを簡単に扱えるライブラリを紹介します。

LINE@へのメッセージ送信は、JSONでないと受け付けてくれません。そういう方はヒントになるかもです。

LINE NotifyとDiscordは、JSON形式です。
セレブパンダは、LINE NotifyとDisordへの画像送信のインジも販売しています。良かったらのぞいてみてほしいです。

こんな方におすすめ
  • JSON形式のメッセージをMQL4でどうやって作ってよいか知りたい方

JSON形式のメッセージの例

{
    "replyToken":"nHuyWiB7yP5Zw52FIkcQobQuGDXCTA",
    "messages":[
        {
            "type":"text",
            "text":"Hello, user"
        },
        {
            "type":"text",
            "text":"May I help you?"
        }
    ]
}

JSON形式は{やら"を使って作らないといけません。

これは、LINEの開発者サイトに記載があるものを転記しています。

試しに

{
    "now":"2021.07.26 13:29"
}

をMQL4の基本機能を使ってコーディングすると

void OnStart()
{
   datetime now=TimeLocal(); // get current time(local)
   // { "now": "2018/05/DD HH:MM" } 
   string timestr="{ \"now\": "+
                  "\""+
                  TimeToStr(now,TIME_DATE|TIME_MINUTES)+
                  "\""+
                  " }";
   Print(timestr);
}

となります。 "が沢山あり、ぐちゃくちゃしてわかりにくいです。

これを簡単にしてくれるのが、JAson.mqhというライブラリです。

リンク先からダウンロード可能です。

https://www.mql5.com/en/code/viewcode/13663/176767/jason.mqh

#include <JAson.mqh>
void OnStart()
{
   CJAVal json;

   json["now"] = TimeToStr(now,TIME_DATE|TIME_MINUTES); 
   // JSON文字列変換は、Serialize()メソッドで行わせる
   Print(json.Serialize());
}

実行結果は以下です。

セレブパンダもLINE@の通知インジを今後作ろうと思っているだお。

その時に、このライブラリを使っていこうと思います。

では、まただお。

Twitterでフォローしよう

おすすめの記事