2012-05-10 38 views
0

我必須從以下JSON字符串繪製圖表:借鑑JSON字符串圖表中的JavaScript

{ 
"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); 

但我得到的錯誤,該數據格式數據圖表錯誤。 可以看看我的代碼和示例有什麼不同?

回答

0

我想你的json格式很好。但你提供的例子不是(在第二個「uri2行 」後面跟着「i」,在「期間」後面代替「:」代替「:」

第二件事,你在你的json中有Period,Perioden是你的js代碼,請檢查您是否使用相同的名字隨處可見

,那麼你可以嘗試CONSOLE.LOG(MYDATA的,myData1),以查看是否有預期的結果

告訴我們,如果這是不夠的,或者如果你有其他問題

+0

您指定的問題是類型錯誤。我編輯了我的問題。我的問題仍然存在。 – wingman55

+0

你仍然有'Period','1988'''而不是''Period':「1988」'。你能告訴我們console.log(myData,myData1)的輸出嗎? – Mathieu

+0

我發現了什麼問題:這裏是解決方案: sampleData.push({Perioden:result.Perioden, Size:parseInt(result.Size), Age:parseInt(result.Age)}); } – wingman55

0

試試這個:

var myData = []; 
sampleData.forEach(function(item){ 
     myData.push([item.Perioden, item.Age]); 
}); 
+0

我試過了,但沒有區別:( – wingman55