0

次の json 文字列からグラフを描画する必要があります。

{
"d":{
  "results":[
 {
   "_metadata":{
      "uri": "http://www.something.com/hi",
      "type" : "something.preview.hi"
      }, "Period", "1988", "Age": 20, "Size" : 80
 },
   "_metadata":{
       "uri": "http://www.something.com/hi",
       "type" : "something.preview.hi"
      }, "Period", "1989", "Age": 25, "Size" : 90
 } 
   ]  }}

jquery.flot.js ライブラリを使用してグラフを描画します。チャートを描画する例を次に示します。これは正常に機能します。

var d1 = [];
for (var i = 0; i < 14; i += 0.5)
    d1.push([i, Math.sin(i)]);
var d2 = [[0, 3], [4, 8], [8, 5], [9, 13]];

myChart.setDataArray(d1);
myChart.setDataArray(d2);  

例によると、json をオブジェクトの配列に変換しました。

 var results = $.parseJSON(responseText)["d"]["results"];            
        var sampleData = [];
        for (var i = 0, len = results.length; i < len; i++) {
            var result = results[i];

            sampleData.push({ Perioden: result.Perioden,
                Size: result.Size,
                Age: result.Age}); 
}

 var myData = [];
        for (var i in sampleData) {
            myData.push([sampleData[i].Period, sampleData[i].Age]);
        }

        var myData1 = [];
        for (var i in sampleData) {
            myData1.push([sampleData[i].Period, sampleData[i].Size]);
        }

myChart.setDataArray(myData);
myChart.setDataArray(myData1);

しかし、データ チャートのデータ形式が間違っているというエラーが表示されます。私のコードと例の違いは誰にも分かりますか?

4

2 に答える 2

0

あなたのjsonは適切にフォーマットされていると思います。しかし、あなたが提供している例はそうではありません(2番目の「uri2行の後の末尾の「i」と、「ピリオド」の後の「:」の代わりに「、」

次に、json に Period があり、Perioden が js コードです。どこでも同じ名前を使用していることを確認してください

次に、 console.log(myData, myData1) を試して、期待どおりの結果が得られるかどうかを確認できます

それで十分か、それとも別の問題があるか教えてください

于 2012-05-10T07:28:36.667 に答える
0

これを試して:

var myData = [];
sampleData.forEach(function(item){
        myData.push([item.Perioden, item.Age]);
});
于 2012-05-10T08:02:35.430 に答える