我试图用一些数据绘制(用Flot)饼图
var data = <?php echo json_encode($data)?>
我从中得到的结果是:
var data = [ {"label":"Crear Usuario", "data":"2"}, {"label":"Impresoras", "data":"1"}, {"label":"Problema Correo", "data":"1"}, {"label":"Requisicion Equipo", "data":"1"}, {"label":"Sitio Web", "data":"1"} ]
这里的问题是我需要带引号label并且data没有引号,我已经尝试过了,json_encode($data, JSON_NUMERIC_CHECK);但是只从数字中除去了引号。
label
data
json_encode($data, JSON_NUMERIC_CHECK);
以下是我需要的格式:
var data = [ {label:"Crear Usuario",data:2}, ...
首先,您必须在php中生成数组,以便数据的值是整数,而不是字符串:
我从json_encode()模拟了数组,我猜它看起来像这样(或应该这样):
$array = array( array("label" => "Crear Usuario", "data" => 2), array("label" => "Impresoras", "data" => 1), array("label" => "Problema Correo", "data" => 1), array("label" => "Requisicion Equipo", "data" => 1), array("label" => "Sitio Web", "data" => 1) ); $data = json_encode($array);
然后,您在Javascript中错过了JSON.parse(),实际上将该输出转换为json对象:
<script> var data = '<?php echo $data; ?>'; var json = JSON.parse(data); console.log(json); console.log(json[0]); </script>
console.log()为我输出的是:
[Object, Object, Object, Object, Object] // First console.log(): one object with the 5 Objects. Object {label: "Crear Usuario", data: 2} // secons console log (json[0]) with the first object
看起来像您所需要的,对吗?