ライブラリ: JSONシリアライズとデシリアライズ(ネイティブMQL) - ページ 2 123456789...18 新しいコメント Dmitry Fedoseev 2016.03.31 10:16 #11 Виктор Василюк: 他に解決策はないのか? 万能の解決策を探してはいけない。問題ごとに異なる解決策を探そう。 --- 2016.04.02 10:19 #12 Виктор Василюк:ライブラリをありがとう。このライブラリを使って、どうやって配列をくっつけるのかがわからないんだ。例えばstring a[] = {"1", "2", "3"}; int b[] = {1, 2, 3}; double c[] = {1.1, 2.9, 3.03}; 問題はCJAVal型の変数を宣言する レベルで発生します。CJAVal primer(jtARRAY, a); を使っても解決しません。例題ファイルを補足または拡張していただけませんか?ビクターさん、こんにちは、ご指摘ありがとうございます。確かに、ライブラリのバージョンには配列要素を明示的に追加する関数がありません。ライブラリは更新されました。バージョン1.03は検証後、Codebaseで公開します。1.03は投稿に添付していますので、ダウンロードしてください。配列の動作例です: string a[] = {"1", "2", "3"}; int b[] = {1, 2, 3}; double c[] = {1.1, 2.9, 3.03}; CJAVal js; js["a"].Add(a[0]); js["a"].Add(a[1]); js["a"].Add(a[2]); js["b"].Add(b[0]); js["b"].Add(b[1]); js["b"].Add(b[2]); js["c"].Add(c[0]); js["c"].Add(c[1]); js["c"].Add(c[2]); string t=js.Serialize(); Print(t); // Вывод {"a":["1","2","3"],"b":[1,2,3],"c":[1.10000000,2.90000000,3.03000000]} js.Clear(); js.Deserialize(t); Print(js["a"].m_e[2].ToStr()); // Вывод 3 ファイル: JAson.mqh 16 kb Denis Kirichenko 2016.09.23 17:04 #13 アレクセイ、君の労苦に感謝するよ!とても必要な図書館だ!私はそのような実用的なタスクを持っています。データベース・タイプのCJAValオブジェクトが1つあります。そして、注文プロパティタイプの CJAValオブジェクトが2つあります。私はデータベースにこれらの注文に関するデータを格納したい。おおよそこんな感じです://--- オブジェクト CJAVal jv_database, // DB jv_order_1, // オーダー1 jv_order_2; // 令状2 //--- DB jv_database["Result"]="Success"; jv_database["ErrorMessage"]="No error"; // jv_database["Response"][2]={jv_order_1,jv_order_2}; // 欲しい。 //--- オーダー1 jv_order_1["symbol"]="EURUSD"; jv_order_1["ticket"]="1505254"; jv_order_1["open_price"]="1.1065"; jv_order_1["open_time"]="19.09.2016 11:53:31"; //--- 令状 2 jv_order_2["symbol"]="USDJPY"; jv_order_2["ticket"]="1505321"; jv_order_2["open_price"]="100.02"; jv_order_2["open_time"]="20.09.2016 14:12:53";Responseフィールドを注文プロパティの配列にしたい。そして、そのようなレコードjv_database["Response"][idx]は、ポインタまたは注文オブジェクト自体を返す必要があります。アドバイスをお願いします。ありがとうございます。 --- 2016.09.24 08:34 #14 Dennis Kirichenko: そして、そのようなレコード jv_database["Response"][idx] は、ポインタまたは注文オブジェクト自体を返す必要があります。数値インデックスによる参照について話していることを正しく理解していますか?DB["Response"] 配列からのオブジェクトへのポインタは、インデックス[idx]で返されるべきですか?できると思います。---しかし、{x1, x2}型による初期化はおそらくできません。私の記憶では、このタイプの初期化は変数宣言の 瞬間、つまりコンストラクタの一種としてのみ利用可能です。しかし、作成された配列に値を設定することはできません。だから、この方法でやるしかないのだ:jv_database["Response"][0]=jv_order_1; jv_database["Response"][1]=jv_order_2; Denis Kirichenko 2016.09.26 12:38 #15 o_O:数値インデックスによる処理ということでよろしいでしょうか?DB["Response"] 配列からのオブジェクトへのポインタは、インデックス[idx]で返すべきでしょうか?できると思います。 そうです。 Denis Kirichenko 2016.09.26 12:43 #16 もう一つの質問。注文のオブジェクトがあります:CJAVal order; order["symbol"]; order["type"]; order["lot"]; order["price_open"]; order["price_close"]; order["stop_loss"]; order["take_profit"];私たちが読むソースラインには、複数のオーダーに関する情報が含まれている。何件の注文があるかは事前にわかりません。注文 オブジェクトのサイズを指定せずに、文字列からすべての情報を読み取るにはどうすればよいでしょうか? --- 2016.09.26 13:06 #17 どの線について話しているのか? Denis Kirichenko 2016.09.26 13:22 #18 o_O:どのような文字列について話しているのですか? すべての注文のデータベースからのデータを含む文字列(サーバーから)。 --- 2016.09.26 13:25 #19 間違った答えだ)。何を解析したいのか、配列付きのjsonなのか、それとも自分で作っているのか、正確に確認する必要があります。推測するのは難しい。 Denis Kirichenko 2016.09.26 13:34 #20 そういう紐だ:{ "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 } } 123456789...18 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
他に解決策はないのか?
ライブラリをありがとう。
このライブラリを使って、どうやって配列をくっつけるのかがわからないんだ。
例えば
問題はCJAVal型の変数を宣言する レベルで発生します。CJAVal primer(jtARRAY, a); を使っても解決しません。
例題ファイルを補足または拡張していただけませんか?
ビクターさん、こんにちは、
ご指摘ありがとうございます。確かに、ライブラリのバージョンには配列要素を明示的に追加する関数がありません。
ライブラリは更新されました。
バージョン1.03は検証後、Codebaseで公開します。
1.03は投稿に添付していますので、ダウンロードしてください。
配列の動作例です:
アレクセイ、君の労苦に感謝するよ!とても必要な図書館だ!
私はそのような実用的なタスクを持っています。
データベース・タイプのCJAValオブジェクトが1つあります。そして、注文プロパティタイプの CJAValオブジェクトが2つあります。
私はデータベースにこれらの注文に関するデータを格納したい。
おおよそこんな感じです:
Responseフィールドを注文プロパティの配列にしたい。
そして、そのようなレコードjv_database["Response"][idx]は、ポインタまたは注文オブジェクト自体を返す必要があります。
アドバイスをお願いします。ありがとうございます。
そして、そのようなレコード jv_database["Response"][idx] は、ポインタまたは注文オブジェクト自体を返す必要があります。
数値インデックスによる参照について話していることを正しく理解していますか?DB["Response"] 配列からのオブジェクトへのポインタは、インデックス[idx]で返されるべきですか?
できると思います。
---
しかし、{x1, x2}型による初期化はおそらくできません。私の記憶では、このタイプの初期化は変数宣言の 瞬間、つまりコンストラクタの一種としてのみ利用可能です。しかし、作成された配列に値を設定することはできません。
だから、この方法でやるしかないのだ:
数値インデックスによる処理ということでよろしいでしょうか?DB["Response"] 配列からのオブジェクトへのポインタは、インデックス[idx]で返すべきでしょうか?
できると思います。
もう一つの質問。注文のオブジェクトがあります:
私たちが読むソースラインには、複数のオーダーに関する情報が含まれている。何件の注文があるかは事前にわかりません。
注文 オブジェクトのサイズを指定せずに、文字列からすべての情報を読み取るにはどうすればよいでしょうか?
どの線について話しているのか?
どのような文字列について話しているのですか?
間違った答えだ)。
何を解析したいのか、配列付きのjsonなのか、それとも自分で作っているのか、正確に確認する必要があります。推測するのは難しい。
そういう紐だ:
{ "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 } }