如何对php数组进行json_encode但键不带引号
我试图用一些数据绘制(用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);但是只从数字中除去了引号。
以下是我需要的格式:
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
看起来像您所需要的,对吗?
以上是 如何对php数组进行json_encode但键不带引号 的全部内容, 来源链接: utcz.com/qa/429395.html