我想從JSON對象中創建一個Javascript對象。這是因爲我想用一個需要特殊數據集的.js插件製作圖形。他需要下列對象數據:動態構建javascript對象
var data = {
labels : ["January","February","March","April","May","June","July"],
datasets : [
{
fillColor : "rgba(220,220,220,0.5)",
strokeColor : "rgba(220,220,220,1)",
pointColor : "rgba(220,220,220,1)",
pointStrokeColor : "#fff",
data : [65,59,90,81,56,55,40]
},
{
fillColor : "rgba(151,187,205,0.5)",
strokeColor : "rgba(151,187,205,1)",
pointColor : "rgba(151,187,205,1)",
pointStrokeColor : "#fff",
data : [28,48,40,19,96,27,100]
}
] }
和我的JSON對象看起來像這樣(不介意的數據,它的測試數據)。我的JSON對象沒有問題。已通過一些JSON驗證在線:
{ "Metingen": [
{
"Temp": "25.00",
"Humy": "37.40",
"Time": [
{
"Uur": "22",
"Minuut": "32",
"Second": "15",
"Dag": "15",
"Maand": "06",
"Jaar": "2014"
}
]
},
{
"Temp": "25.00",
"Humy": "37.20",
"Time": [
{
"Uur": "22",
"Minuut": "32",
"Second": "15",
"Dag": "15",
"Maand": "06",
"Jaar": "2014"
}
]
} ] }
所以我需要把所有標籤的「達格」的價值觀,數據集[0]。數據所需要的「溫度」和數據集1。數據需要「Humy 「來自我的JSON對象的值。但是,我該如何動態地做到這一點?因爲Temp和Humy值的數量會隨着每次頁面刷新而改變。我已經嘗試過,但這不起作用。 (我已經離開了Humy數據集在這裏簡化它
var dataBuilder = new Object();
for(i = 0; i < objs.Lijnen;i++) {
dataBuilder.labels[i] = objs.Metingen[i].Time[0].Dag;
dataBuilder.datasets[0].data[i] = objs.Metingen[i].Temp;
}
dataBuilder.datasets[0].fillColor = "rgba(220,220,220,0.5)";
dataBuilder.datasets[0].strokeColor = "rgba(220,220,220,1)";
dataBuilder.datasets[0].pointColor = "rgba(220,220,220,1)";
dataBuilder.datasets[0].pointStrokeColor = "#fff";
但後來我得到一個上線4 「無法設置屬性‘0’的未定義」我也嘗試了以下幾件事:
。for(i = 0; i < objs.Lijnen;i++) {
dataBuilder[labels][i] = objs.Metingen[i].Time[0].Dag;
dataBuilder[datasets][0][data][i] = objs.Metingen[i].Temp;
} ... (code omitted)
我讀的地方,JavaScript對象僅僅是數組的數組,但這並不因爲「標籤」,「數據集」和「數據」是不確定的工作邏輯,所以我想這一個還有:
for(i = 0; i < objs.Lijnen;i++) {
dataBuilder["labels"][i] = objs.Metingen[i].Time[0].Dag;
dataBuilder["datasets"][0]["data"][i] = objs.Metingen[i].Temp;
} (code omitted)
但在這裏我也遇到了一個錯誤。我檢查了objs.Metingen [i] .Time [0] .Dag和objs.Metingen [i] .Temp,他們的工作很完美。所以,任何人都知道如何將我的JSON數據解析爲Graph插件所需的數據庫?也許JQuery? (有關Graph plugin is here的更多信息)對不起,很長的文章。
奧凱,得到它現在的工作,我剛換了「VAR dataBuilder ......」行到你現在的數據分析程序沒有問題! – Reggi
快速問題,當我想要更多然後1個數據集時怎麼辦?因爲當我調用數據集[1]時,我得到相同的錯誤。 – Reggi
我在上面的「if」行中首次使用它時編輯了分配數據數組的代碼 – fstanis