gpt4 book ai didi

javascript - 表没有列。 json数据

转载 作者:行者123 更新时间:2023-11-29 21:32:41 25 4
gpt4 key购买 nike

我有一个这种格式的json数据

[
{
id: 2,
nom: "Dell",
type: "Pc",
quantity: 78,
prix: 7800
},
{
id: 3,
nom: "Intel",
type: "Processor",
quantity: 45,
prix: 8000
},
{
id: 4,
nom: "Dell",
type: "Ecran",
quantity: 10,
prix: 2500
}
]

我想把它们放在图表帮助中,大约需要 4 天,我无法让它工作我想了解为什么 google chart api 不想接受这些数据这是我的代码

<html>
<head>
<!--Load the AJAX API-->
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">

// Load the Visualization API and the bar package.
google.charts.load('current', {'packages':['corechart']});

// Set a callback to run when the Google Visualization API is loaded.
google.charts.setOnLoadCallback(drawChart);

function drawChart() {
var jsonData = $.ajax({
url: "http://localhost:8080/get",
dataType: "json",
async: false
}).responseText;
console.log(jsonData)
// Create our data table out of JSON data loaded from server.


var data = new google.visualization.DataTable(jsonData);

// Instantiate and draw our chart, passing in some options.
var chart = new google.visualization.ColumnChart(document.getElementById('chart_div'));
chart.draw(data, {width: 400, height: 240});
}

</script>
</head>

<body>
<!--Div that will hold the pie chart-->
<div id="chart_div"></div>
</body>
</html>

最佳答案

数据的格式必须是这样的:

{
cols: [
{id: 'task', label: 'Task', type: 'string'},
{id: 'hours', label: 'Hours per Day', type: 'number'}
],
rows: [
{c:[{v: 'Work'}, {v: 11}]},
{c:[{v: 'Eat'}, {v: 2}]},
{c:[{v: 'Commute'}, {v: 2}]},
{c:[{v: 'Watch TV'}, {v:2}]},
{c:[{v: 'Sleep'}, {v:7, f:'7.000'}]}
]
}

查看文档 (https://developers.google.com/chart/interactive/docs/reference#DataTable),您会发现您必须在 cols 属性中定义列,在 rows 属性中定义数据。

因此您必须“重新格式化”您的 JSON 以满足要求。

因此,为了您的转换需要,这段代码应该可以工作:

var rows = new Array();

for(var i=0;i<jsonData.length;i++)
{
var jsonRow = jsonData[i];
var row = {
c: [
{v: jsonRow.id},
{v: jsonRow.nom},
{v: jsonRow.type},
{v: jsonRow.quantity},
{v: jsonRow.prix},
]
};
rows.push(row);
}


var dataFormatted = {
cols: [
{ id: 'id', label: 'Id' },
{ id: 'nom', label: 'Nom' },
{ id: 'type', label: 'Type' },
{ id: 'quantity', label: 'Quantity' },
{ id: 'prix', label: 'Prix' },
],
rows: rows
}

var data = new google.visualization.DataTable(dataFormatted);

关于javascript - 表没有列。 json数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35767758/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com