我必须从以下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);
但是我收到数据图表数据格式错误的错误。anyody 可以看到我的代码和示例之间有什么区别吗?
我猜你的 json 格式很好。 但是您提供的示例不是(在第二个"URI2"行之后尾随"i"和 ","而不是 "句点" 之后的 ":">
第二件事,你的json中有Period,Perioden是你的js代码。 检查您是否在任何地方都使用相同的名称
然后你可以尝试控制台.log(myData,myData1(看看你是否有预期的结果
告诉我们是否足够,或者您是否有其他问题
试试这个:
var myData = [];
sampleData.forEach(function(item){
myData.push([item.Perioden, item.Age]);
});