在 JavaScript 中从 JSON 字符串绘制图表

draw a chart from json string in javascript

本文关键字:绘制 字符串 JSON JavaScript 中从      更新时间:2023-09-26

我必须从以下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]);
});