2

jqPlotを使用してグラフを作成しています。グラフのデータ ポイントは、GSON を使用して構築された JSON オブジェクトから取得されます。グラフのデータ ポイントは JavaScript 配列形式で作成されるため、クライアントに送信するデータを保持する Java オブジェクトは次のようにデータを格納します。

String chartDataPoints = "[[1352128861000, 0.0], [1352128801000, 0.0], [1352128741000,   0.0], [1352128681000, 0.0], [1352128621000, 0.0],...More chart points in this format ,[[x0,y0], [x1,y2]...]]";

x ポイントは日付です。

JavaScript 配列であるかのように、このデータを JSON オブジェクトから直接渡すことは可能ですか? 現在、MyJsonObject.chartDataPoints は文字列として扱われるため、jqPlot ($.jqplot ('chart1', MyJsonObject.chartDataPoints) は何もプロットしません。

4

3 に答える 3

8

1 つのオプションは、次を使用することevalです。

var arr = eval('(' + json_text + ')');

eval上記はこれを行うための最も簡単で最も広くサポートされている方法ですが、JavaScript コードを実行するソースを信頼できる場合にのみ使用してください。

一部のブラウザーにはネイティブ JSON パーサーがあり、その場合は次のことができます。

var arr = JSON.parse(json_text);

jQueryなどのサードパーティ ライブラリも、JSON を処理するための関数を提供できます。jQuery では、次のことができます。

var arr = jQuery.parseJSON(json_text);

下の 2 つの方法 (パーサーを使用する) は、一定レベルの保護を提供するため、推奨されます。

于 2012-11-05T15:57:26.567 に答える
0

引用符を削除すると、それは有効な配列宣言です。次に、xポイントを日付に変換する配列を循環できます。

于 2012-11-05T15:58:10.087 に答える
0

見てみましょう: https://github.com/douglascrockford/JSON-js

文字列をオブジェクトに解析する方法があります。これは「安全な」方法ですeval(chartDataPoints)。JavaScript で実行できますが、何か問題がある場合に備えて、JSON エンジンを使用して解析することを常にお勧めします。

于 2012-11-05T16:00:14.087 に答える