3

ここに私のphpコードがあります

function GetTransactionList($data)
{
    // DB transaction   
    $records = array();
    while($row = mysql_fetch_array($result))
        array_push($records, $row);

    echo json_encode(array("IsError" => false, "Records" => $records));

}

これはphpからのajax呼び出しでの私のjson応答です

{
    IsError:false,
    Records:[
            {0:1,
             1:1000,
             2:0,
             3:"Peacock India trial payment",
             4:"2013-08-03",
             5:1,
             TransactionID:1,
             Credit:1000,
             Debit:0,
             Reason:"Peacock India trial payment",
             TransactionDate:"2013-08-03",
             TransactionByUserID:1
            }]
}

ここで結果が得られましたが、json_encode() メソッドは各行を 2 回エンコードします。最初に index=>value ペアで値を設定し、2 回目に column_name=>value ペアでエンコードします。なぜそれが起こるのか知りたいですか?この二重作業を減らす方法はありますか? 次の方法でのみjson応答が必要です

{
    IsError:false,
    Records:[
            {TransactionID:1,
             Credit:1000,
             Debit:0,
             Reason:"Peacock India trial payment",
             TransactionDate:"2013-08-03",
             TransactionByUserID:1
            }]
}
4

2 に答える 2

1

mysql_fetch_assocの代わりに使用できますmysql_fetch_array

于 2013-08-25T14:43:50.480 に答える