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

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

WBOY
リリース: 2016-06-23 14:17:59
オリジナル
928 人が閲覧しました

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 は正しいです
皆さん、ありがとうございました!

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート