php json编码格式

时间:2015-11-12 08:18:28

标签: php mysql json format

我有简单的代码

$result = mysql_query("select * from wizard"); 

    $rows = array();
    while($r = mysql_fetch_array($result))
    {
        $rows[] = $r;       
    }
    echo json_encode($rows);

我的结果

  

[{ “0”: “1”, “ID” 为 “1”, “1”: “121”, “FID”: “121”, “2”: “4”, “meth_id”:” 4" , “3”: “A”,

而不是

  

[{ “ID”: “1”, “FID”: “121”, “meth_id”: “4”,

这种格式有什么问题,我该如何解决呢?

谢谢

2 个答案:

答案 0 :(得分:1)

调用mysql_fetch_array时,需要包含值为result_type的第二个MYSQL_ASSOC参数。

while($r = mysql_fetch_array($result, MYSQL_ASSOC))

否则,使用MYSQL_BOTH默认值,您将得到一个包含关联和数字索引http://php.net/manual/en/function.mysql-fetch-array.php的数组,因此您在结果数组中有重复的值。

此外,您不建议使用已弃用的mysql_ *函数,而是使用MySQLiPDO,但这取决于您。

答案 1 :(得分:0)

您可能需要检查json_encode中的结果是否为数组。请尝试使用mysql_fetch_assoc代替mysql_fetch_array