0

当我使用 PHP 将 JSON Array 回显到 android 时,我遇到了最后一个逗号的问题

这是我的代码

If ($commentResult>0) 
echo "[";
    { 
    while ($row = mysql_fetch_array($commentResult)) {

    echo json_encode($row).",";
    }
echo "]";

Android 无法读取,它打印出 JSONException:Vale at 3 is null

4

3 回答 3

2

你为什么要重新发明轮子?如果您想提供整个数组,则将 json_encode 放在整个数组上,而不是尝试手动构建它。

$comments=array();
if($commentResult>0){
    while($row=mysql_fetch_array($commentResult)){
        $comments[]=$row;
    }
}
echo json_encode($comments);

*另外,一个小提示,不要使用 mysql_ 函数。而是使用 PDO 或 mysqli,它们得到更好的支持,让您摆脱整个 while($row) 业务。*

于 2012-04-17T11:54:20.990 回答
0

你形成json的方式真的很奇怪。不知道这是否是一个问题,但您可以以更干净的方式尝试:

if ($commentResult) {
    for ($data = array(); $row = mysql_fetch_array($commentResult); $data[] = $row);
    echo json_encode($data);
}
于 2012-04-17T11:54:57.510 回答
0

无论您使用 PHP 生成什么 JSON,只需在http://jsonlint.com/中验证即可。如果输出错误,它不会从 PHP 端验证它是否正常。

于 2012-04-17T11:59:23.753 回答