无法编码为JSONArray

时间:2014-08-27 15:08:56

标签: php arrays json

关于这个被标记为重复的问题,我没有询问如何在原始问题中编码,但编码是问题的答案。

在我的php中,我用数据库中的数据填充了一个数组(数组中的每个对象都是行,存储为另一个数组)。我正在调用echo json_encode($json);所以我可以通过android获取它,但它不输出任何东西。 我可以调用每个数组和每个列,如echo $json[#][#];,并获得预期的结果,所以我知道数组已填充。 我如何把它全部放在那里,这样人们可以用他们贪婪的小指触摸它?

PHP:

<?php
    $host="HOST";
    $username="USER";
    $password="PASS";
    $db_name="DATABASE";

    $con=mysql_connect("$host", "$username", "$password")or die("cannot connect");
    mysql_select_db("$db_name")or die("cannot select DB");
    $sql = "SELECT * FROM Table WHERE Column = 1";
    $result = mysql_query($sql);
    $json = array();
    if(mysql_num_rows($result))
    {
        while($row=mysql_fetch_assoc($result))
        {
            $json[] = array($row['col1'], $row['col2'], $row['col3'], $row['col4'], $row['col5'], $row['col6']);
        }
        echo json_encode($json);
    }
?> 

解决 问题出在UTF8上,在某些有文本的列上,偶尔会使用特殊字符(在这种情况下,Å,Ä和Ö)。 感谢评论者@meda建议我使用utf8_encode($row[col])一切都很好。

0 个答案:

没有答案