我想从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