微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何对php数组进行json_encode但键不带引号

如何解决如何对php数组进行json_encode但键不带引号

首先,您必须在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

看起来像您所需要的,对吗?

解决方法

我试图用一些数据绘制(用Flot)饼图

var data = <?php echo json_encode($data)?>

我从中得到的结果是:

var data = [
{"label":"Crear Usuario","data":"2"},{"label":"Impresoras","data":"1"},{"label":"Problema Correo",{"label":"Requisicion Equipo",{"label":"Sitio Web","data":"1"}
]

这里的问题是我需要带引号label并且data没有引号,我已经尝试过了,json_encode($data,JSON_NUMERIC_CHECK);但是只从数字中除去了引号。

以下是我需要的格式:

var data = [
    {label:"Crear Usuario",data:2},...

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。