0

ハイチャートのフォーマットを考え出そうとしています。

デモの 1 つに、次の呼び出しがあります。

$.getJSON('http://www.highcharts.com/samples/data/jsonp.php?filename=range.json&callback=?', function(data) {code to build the chart

呼び出しが行われると、次のようなデータが返されます。

callback([

/* 2009-01-01 */ [1230771600000, -5.8, 0.1], [1230858000000, -4.1, 1.4], [1230944400000, -0.5, 4.1], [1231030800000, -8.9, -0.7], [12010107, -123010107] 9.7、-3.7]、[1231203600000、-3.4、3.2]、[1231290000000、-3.9、-0.2]、[1231376400000、-2.4、6.7]、[1231462800000、3.8、6.9]、[1231549]0、6.1。 );

私が抱えている問題は、グラフ データやその他のものを含む結果が得られる独自の AJAX 呼び出しを介してデータを配信したいということです。ただし、形式を正しく取得できないように見えるため、HC はそれを読み取ることができます。フォーマットに関するページを読みましたが、うまくいきませんでした。

問題は「callback([]);」だと思います コンテナを削除する必要がありますが、削除するとデータがグラフに表示されません。

リー

4

3 に答える 3

0

わかりました、私はこれを理解しました。

jQuery がすべてのデータをロードすると、それが文字列に変換されます。ハイチャートで使用する前に、 を使用してオブジェクトに戻す必要があります$.parseJSON(data)

助けようとしてくれたPawelとAustinに感謝します。

于 2013-03-22T02:56:07.007 に答える
0

私は一度同じ問題に遭遇しました。json は、ハイチャート シリーズに渡す前に解析する必要があります
ハイ チャート シリーズは、この形式の配列を受け入れます

[[float,float],[float,float]]

一方、解析されていないjsonは与えようとします

[[String,String],[String,String]]

「callback([]);」を削除した後 container 、個々の '[x,y]' ポイントを解析してから、それをシリーズ オブジェクトに提供する

1 つの方法 (js で) を行う必要があります。

  1. String[] jsonComponents= jsonWithoutContainer.split(",");
  2. 各 jsonComponents 配列を繰り返します。
  3. 各 jsonComponent - String[] xyComps=jsonComponent.split(",");
  4. x=parseFloat(xyComp[0]); y1=parseFloat(xyComp[1]); y2= parseFloat(xyXomp[2]);
  5. array1.push(x,y1) を使用してこれらを配列に入れ、それを chart.series(array1) に供給します
于 2013-03-21T07:36:30.880 に答える
0

このコールバックは JSONP に使用されます。これを実現するには、標準の JSON を使用するだけです。

[[1230771600000, -5.8, 0.1], [1230858000000, -4.1, 1.4], [1230944400000, -0.5, 4.1] ... ]

コメント、機能などはありません。データがこのように見える場合は、機能するはずです。

于 2013-03-21T11:52:49.573 に答える