ホームページ >バックエンド開発 >PHPチュートリアル >PHPで受け入れられるJSON形式のデータを解析する方法

PHPで受け入れられるJSON形式のデータを解析する方法

WBOY
WBOYオリジナル
2016-06-23 14:17:59930ブラウズ

PHP JSON Jquery

$(document).ready(function(){        var jsonText ="{'user':[{'username':'zhangsan','password':'123'},{'username':'xx','password':'456'}]}";	$("a").click(function(){			$.post('a.php',{data:jsonText},function(data){			alert(data);		});	});});


PHP ファイルで受信したデータを解析する方法について、アドバイスをお願いします。 ? ?

ディスカッションに返信(解決策)

json_decode を使用して json 文字列を配列に変換します

$arr = json_decode($_POST['data'],true);print_r($arr);


Array ( [user] => Array ( [0] => Array ( [username] => zhangsan [パスワード] => 123 ) [1] => Array ( [ユーザー名] => xx [パスワード] => 456 ) )

#1F 正解
json_decode POST パラメータを使用するだけです

返されますフロントエンドが受信したときに値が空で、alert(data) が何もありません。なぜですか? ?

<?php$arr = json_decode($_POST['data'],true);print_r($arr);?>

フロントエンドが受信したときの戻り値は空です。alert(data) は何もありません。なぜですか? ?
受信した $_POST['data'] を直接出力することで理由を知ることができます。

<?php$arr = json_decode($_POST['data'],true);print_r($arr);?>

フロントエンドが受信したときの戻り値は空です。alert(data) は何もありません。なぜですか? ?

それから、 $_POST['data'] を直接出力して、

<?php$arr = json_decode($_POST['data'],true);print_r($arr);?>

フロントエンドがそれを受け取るとき、戻り値は空です、alert(data); なぜですか? ?
受信した $_POST['data'] を直接出力することで理由を知ることができます。

print_r($_POST['data']); には値がありますが、json_decode の後に消えます。 。 。


<?php$arr = json_decode($_POST['data'],true);print_r($arr);?>

フロントエンドが受信したときの戻り値は空で、alert(data) は何もありません。なぜですか? ?
受信した $_POST['data'] を直接出力することで理由を知ることができます。

print_r($_POST['data']); には値がありますが、json_decode の後に消えます。 。 。
値があるからといって JSON を解析できるというわけではありません。投稿して確認してください

print_r($_POST['data']); フロントエンドがそれを受信すると、次の画像が表示されます




json形式が間違っていますか? ? ?

print_r($_POST['data']); フロントエンドがそれを受信すると、次の画像が表示されます




json 形式が間違っていますか? ? ?


はい

print_r($_POST['data']); フロントエンドがそれを受信すると、次の画像が表示されます



json 形式が間違っていますか? ? ?





<?php$arr = json_decode($_POST['data'],true);print_r($arr);?>


json 形式はこんな感じではないでしょうか? json形式で書くにはどうすればいいですか?

フロントエンドから渡される JSON 文字列を

$(document).ready(function(){        var jsonText ="{'user':[{'username':'zhangsan','password':'123'},{'username':'xx','password':'456'}]}";	$("a").click(function(){			$.post('a.php',{data:jsonText},function(data){			alert(data);		});	});});

または

var jsonText ="{\"user\":[{\"username\":\"zhangsan\",\"password\":\"123\"},{\"username\":\"xx\",\"password\":\"456\"}]}";

に変更します
また、2 つの中括弧間のカンマは全角である必要がありますが、半角に変更します


print_r( $_POST[ 'data']); フロントエンドがそれを受信すると、次の画像が表示されます



json 形式が間違っていますか? ? ?





var jsonText ='{"user":[{"username":"zhangsan","password":"123"},{"username":"xx","password":"456"}]}';


json 形式はこんな感じではないでしょうか? json形式で書くにはどうすればいいですか?


var jsonText ={"ユーザー":[{"ユーザー名":"zhangsan","パスワード":"123"},{"ユーザー名":"xx","パスワード":"456"}]};


試してみてはいかがでしょうか


print_r($_POST['data']); フロントエンドがそれを受信すると、次の画像が表示されます



json 形式が間違っていますか? ? ?





$(document).ready(function(){        var jsonText ="{'user':[{'username':'zhangsan','password':'123'},{'username':'xx','password':'456'}]}";	$("a").click(function(){			$.post('a.php',{data:jsonText},function(data){			alert(data);		});	});});


json 形式はこんな感じではないでしょうか? json形式で書くにはどうすればいいですか?

$(document).ready(function(){        var jsonText ="{'user':[{'username':'zhangsan','password':'123'},{'username':'xx','password':'456'}]}";	$("a").click(function(){			$.post('a.php',{data:jsonText},function(data){			alert(data);		});	});});

JSON をサポートしていないブラウザを見つけた場合は、jquery の json プラグインを使用して、js オブジェクト データを json 標準形式に変換できます。

最終的に投稿者がどのように問題を解決したかを共有してください

最終的に投稿者がどのように問題を解決したかを共有してください


皆さんが言ったように json 形式を変更しただけで、実際に記述されたのは私の json 形式でした。間違っています。
上記の json は正しいです
皆さん、ありがとうございました!

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。