ここに私の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
}]
}