0

PHPを使用してJSON配列を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側からのOKを検証しません。

于 2012-04-17T11:59:23.753 に答える