ライブラリ: JSONシリアライズとデシリアライズ(ネイティブMQL) - ページ 3

 

さて、それは単なるオブジェクトの配列であることがわかった。

配列」の一般的な外観[ {..}, {..}, ]

つまり、このリストを中かっこでくくるのだ。

"List": [ {"symbol": "USDJPY", "type": "Buy" },  { "symbol": "EURUSD", "type": "Sell" } ]
 

角括弧で限定した。しかし、最初のオブジェクトしか読み込まれません:

[ {
     "symbol": "USDJPY",
     "type": "Buy",
     "lot": 0.5,
     "price_open": 102.36,
     "price_close": 102.44,
     "stop_loss": 99.25,
     "take_profit": 103.25 
    },
    {

配列を読み込むには?

 

有効なjsonをパーサーに渡していますか?

あなたのデータですべて動作しています

  string in="{ \"array\": [ { \"symbol\": \"USDJPY\", \"type\": \"Buy\", \"lot\": 0.5, \"price_open\": 102.36, \"price_close\": 102.44, \"stop_loss\": 99.25, \"take_profit\": 103.25 }, { \"symbol\": \"EURUSD\", \"type\": \"Sell\", \"lot\": 0.2, \"price_open\": 1.1044, \"price_close\": 1.1252, \"stop_loss\": 1.1434, \"take_profit\": 1.0922 } ] }";
  CJAVal js(NULL,jtUNDEF);
  js.Deserialize(in);
  string out="";
  js.Serialize(out);
  Print(out);
 
アレクセイ、どうもありがとう!中括弧で囲むのを忘れていました......。
 

ダミー」からの質問です。

キールックアップメソッドに頼らずにキーの値を取得する方法を教えてください。

virtual CJAVal *CJAVal::FindKey(string akey) 
 
Dennis Kirichenko:

ダミー」からの質問です。

findkeyメソッドに頼らずにキーの値を取得するにはどうすればいいでしょうか?

キーへのフル・パスを知ることによってのみ可能ですが、findkeyは暗黙のうちに使用されます。

double d=jo["order"]["profit"];

double d=ja["array"].m_e[0]["profit"];

---

そうでなければ、正確なインデックスを知っているm_e配列に直接アクセスしてください。

 

こんにちは。あなたのライブラリのすべての機能について、どこで読むことができますか?先日、あるインターネット・リソースとやりとりする問題を解決しなければなりませんでしたが、そのリソースからの応答はJSON形式で返されました。あなたのライブラリのおかげで、JSONの解析に時間を取られずに済みました!しかし、ライブラリの機能をもっと深く理解したいです。ライブラリの機能についての説明は見当たりませんでした。

もう1つ質問:サービスからのレスポンスのフィールドの1つにキリル文字で小さな説明がありますが、JSONサービスはこのテキストを次のようにエンコードします:"description": "\u041du043eu0432u043eu0435u0440u0441u0438 v.2\r\n1.\u0418\u0437\u043c\u0435\u043d\u0435\u043d \u0434\u0438\u0437\u0430\u0439\u043d \u0442\u043e\u0440\u0433\u043e\u0432\u043e\u0439 \u043f\u0430\u043d\u0435\u043b\u0438\r\n2.\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u043c\u0438\u043d\u0438\u043f\u0430\u043d\u0435\u043b\u044c\r\n3.\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0431\u0430\u043b\u0430\u043d\u0441\u0430\u0432\u044b\u0431\u0440\u0430\u043d\u043d\u043e\u0433\u043e \u0442\u043e\u0440\u0433\u043e\u0432\u043e\u0433\u043e \u0441\u0447\u0435\u0442\u0430\r\n4.\u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u044b \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u043e\u0448\u0438\u0431\u043a\u0438\r\n\r\n"

ビブリオテカの助けを借りて、このテキストを必要な形式に翻訳することは可能でしょうか?

よろしくお願いします!

 

libeの主な機能は2つだけだ。

シリアライズとデシリアライズだ。

それ以外は全てオーバーロードされた演算子、配列の設定と読み込みです。

---

このエスケープされたテキストは変換できます。

次のバージョンではUnescape関数に構文解析を追加する予定です。

 

1.05に更新

あなたの例のテキストは次のように変換されます。

{"description": "New in version v.2.Redesigned trading panelrrn2.Added mini panelrn3.Added balance display for selected trading account" } いくつかのバグを修正した。

---

管理者がコードベースを更新している間、添付のコードベースをダウンロードできる。

ファイル:
jason.mqh  30 kb
 
o_O:

1.05に更新

あなたの例のテキストは次のように変換されます。

{"description": "New in version v.2.Redesigned trading panelrrn2.Added mini panelrn3.Added balance display for selected trading account" } いくつかのバグを修正した。

---

管理者がコードベースを更新している間に、添付のものをダウンロードしてください。

ありがとうございました!というわけで、すでに書いた梟デコーダーから削除できるようになった。すべてを1つのライブラリにまとめよう!とても迅速な対応でした!ありがとうございました!