0

JSON.stringifyを使用してJavascriptで作成されたフォーム配列のJSONデータがあります

{
   "user":"Mark",
   "id":"80",
   "0":["age","=","twenty four","varchar"],
   "1":["prefix","=","Mr.","enum"]
}

これをAJAX経由でPHPファイルに送信しています。POSTをエコーすると、値が取得されます

echo (serialize($_POST['data']));

s:263:
"{
    "user":"Mark",
    "id":"80",
    "0":["age","=","twenty four","varchar"],
    "1":["prefix","=","Mr.","enum"]
 }";

配列またはオブジェクトでPOSTされたデータを取得するにはどうすればよいですか。私はやろうとしました

var_dump(json_decode($ _ POST ['data']));
AND
var_dump(json_decode(serialize($ _ POST ['data']))); AND var_dump(json_decode($ _ POST ['data']、true));

しかし、彼らは機能しませんでした。出力がnullです。

4

3 に答える 3

0

PHP versopn> = 5.2.0の場合、次のビルドインPHP関数を使用してJSONをデコードできます

json_decode($_POST['data'])

ArrayとStdClassオブジェクトを返します。

編集:json_decodeが機能していないことをどのようにして見つけましたか?ver_dumpまたはprint_rをお試しください。PHPバージョン>=5.2.0を期待しています

于 2012-08-28T05:58:07.937 に答える
0

json_decode()でうまくいくはずですが、サーバーの構成によっては(magic_quotes_gpcがオンの場合)、デコードする前にstripslashes()を使用する必要がある場合があります。

于 2012-08-28T05:58:21.210 に答える
0

あなたはそれを何かに保存しなければなりません。

$posted = json_decode($_POST['data']);
var_dump($posted);
于 2012-08-28T05:58:49.077 に答える