即时创建javascript图表使用JSON生成的值(我使用chart.js)。到目前为止,我已经从PHP生成了JSON对象。现在我想在图表中分配这些值。
我的JSON OBJECT就像这样
[{"name:""John","first:""100","second:""300","third:""200"}]
是
$row = mysqli_fetch_array($result);
$response = array('name' => $row['username'],
'first' => $row['first'],
'second' => $row['second'],
'third' => $row['third'],
);
$responses[]=$response;
以上代码没有问题。
我希望在下面的代码中分配这些检索到的值。 (这是针对CHART.JS)
var pieData = [
{
value: "[here]",// values goes to here
color:"#F7464A",
highlight: "#FF5A5E",
label: name
},
{
value: 50,
color: "#46BFBD",
highlight: "#5AD3D1",
label: "Green"
},
{
value: 100,
color: "#FDB45C",
highlight: "#FFC870",
label: "Yellow"
},
];
var ctx = document.getElementById("chart-area").getContext("2d");
window.myPie = new Chart(ctx).Pie(pieData);
我试过这样的事情
obj = JSON.parse(values);
value: obj.name, //but this didnt work
color:"#F7464A",
highlight: "#FF5A5E",
label: name
即使我尝试alert (obj.name);
即时获取Undefined
。
答案 0 :(得分:1)
由于您的JSON
数据是一个对象数组,因此您需要访问其索引:
obj[0].name
但如果您考虑一下,如果您希望有一条记录,则可以直接对该行进行编码。
$row = mysqli_fetch_array($result);
json_decode($row);
然后你的JSON看起来像这样:
{"name:""John","first:""100","second:""300","third:""200"}
因此obj.name
会起作用,它不会是未定义的。
答案 1 :(得分:1)
试试这样:
obj = JSON.parse(values);
value: obj[0].name,
color:"#F7464A",
highlight: "#FF5A5E",
label: name