JSオブジェクトを正確な文字列に変換できません。コードは次のとおりです。
jsonObj['payment_value']=100.10;
jsonObj['payment_date']="2012-06-15";
jsonObjStr = JSON.stringify(jsonObj);
alert(jsonObjStr);
$.post("test", jsonObjStr.toString(), function(output){
alert(output);
});
最初のアラートが表示されます:
{"payment_date": "2012-06-15"、 "payment_value":100.1}
そして、機能テスト(私はcodeigniterフレームワークを使用しています)では、「payment_date」と「payment_value」を次のようなコードで出力する必要があります。
echo $this->input->post("payment_value");
echo $this->input->post("payment_date");
これは「クリア」phpで次のように相当します。
echo $_POST["payment_value"];
echo $_POST["payment_date"];
しかし、2番目のアラートは明確な文字列を表示します。
入れたら
{"payment_date": "2012-06-15"、 "payment_value":100.1}
jsonObjStr.toString()の代わりに正常に動作します
誰かがjson_decodeを使用せずにそれを修正する方法を知っていますか?他の配列ではなく、この形式で値を投稿する必要があります
したがって、jsonObjStrを文字列に正確に変換する必要があります(関数eval()とは逆になります)
アドバイスありがとう