【发布时间】:2015-01-23 20:52:06
【问题描述】:
我使用 JSON 生成值创建 javascript 图表(我使用 chart.js)。到目前为止,我已经从 PHP 生成了 JSON 对象。现在我想在图表中分配这些值。
我的 JSON 对象是这样的
[{"name:""John","first:""100","second:""300","third:""200"}]
因为 PHP 代码是
$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。
【问题讨论】:
-
我假设 json 是为这个问题手动输入的?它有一些错别字。
-
您最底部的 javascript 看起来也有点……无效。就像你错过了什么一样。
-
您的 JSON 表示一个数组,因此,
obj将包含一个数组,其中包含一个作为对象的单个项目。可能在后端错误地返回数据?还是可以有多个? -
console.log(obj)会向您显示您正在使用的确切结构。你可能想要obj[0].name
标签: javascript php mysql json