我正在检索JSON数据并将它们分配到Javascript中并显示Chart(即使用Chart.js)。
[{"name":"yasiru","col1":"300","col2":"50","col3":"100","col4":"40","col5":"120"}]
var pieData = [
{
value: obj[0].col1,
color:"#F7464A",
highlight: "#FF5A5E",
label: obj[0].name
},
{
value: 50,
color: "#46BFBD",
highlight: "#5AD3D1",
label: "Green"
},
{
value: 100,
color: "#FDB45C",
highlight: "#FFC870",
label: "Yellow"
}
];
当我跑这个。 label : obj[0].name
正确显示Yasiru
名称没有任何问题。但价值不是。
所以我试着alert(obj[0].col1);
然后它显示我需要的300。我做错了什么?
这里使用PHP代码。 FYI
$row = mysqli_fetch_array($result);
$response = array('name' => $row['username'],
'col1' => $row['first'],
'col2' => $row['second'],
'col3' => $row['third'],
'col4' => $row['fourth'],
'col5' => $row['five']
);
$responses[]=$response;
答案 0 :(得分:1)
您的代码无效,因为您的值是字符串而Chart.js只需要整数。请尝试使用以下JSON代码:
[{"name":"yasiru", "col1": 300, "col2": 50, "col3": 100, "col4": 40,"col5": 120}]
顺便说一句,在调试时更喜欢使用控制台,而不是alert()
:console.log()
答案 1 :(得分:1)
obj[0].col1
是一个字符串,请尝试检查文档以查看图表值是否可以定义为字符串,还是仅定义为数字。在这种情况下,它似乎只能接受数字。
与此同时,使用parseInt
应该可以正常工作:
value: parseInt(obj[0].col1)