php json 编码格式

php json encode 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",

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

谢谢

您可能需要使用 mysql_fetch_assoc 而非 mysql_fetch_array 检查 json_encode 中的结果是否为 array.Try。

您需要在调用 mysql_fetch_array.

时包含值为 MYSQL_ASSOC 的第二个 result_type 参数
while($r = mysql_fetch_array($result, MYSQL_ASSOC))

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

并且不鼓励您使用已弃用的 mysql_* 函数,而是使用 MySQLi or PDO,但这取决于您。