2011-12-17 18 views
0

私は文字列化されたjsonオブジェクトをPHPページに送ります。私はPHPでそれをループしたい。私が使用している場合:その結果Json_decodeは何も返しません

echo $_POST['Tags']; 

{\"0\":\"tag1\",\"1\":\"tag2\"} 

しかし

echo json_decode($_POST['Tags'], true/false); 

は何も印刷されません。少なくともArrayを取得してはいけませんか?

+0

[実行時にPHPのマジッククォートを無効にするにはどうすればいいですか?](http://stackoverflow.com/questions/1153741/how-can-i-disable-php-magic-quotes-at-runtime) – mario

答えて

2
php > var_dump(json_decode('{\"0\":\"tag1\",\"1\":\"tag2\"}')); 
NULL 

出力が表示されない場合は、実際にはvar_dumpを使用してください。そしてphp.net documentation(状態として:リターンは

すると、適切なPHPタイプでJSONでエンコードされた値を返し、真偽とヌル値(大文字と小文字を区別しない)は、それぞれ、TRUE FALSEおよびNULLとして返されます。 。JSONをデコードすることができない場合はNULLが返されるか、エンコードされたデータは、再帰の上限よりも深い場合

あなたのJSONが無効です
が正しいJSONは次のようになります。。

["tag1","tag2"] 

または

{"0":"tag1","1":"tag2"} 

バックスラッシュなし。

+0

角括弧を追加し、バックスラッシュを取り除くとうまくいきます。ありがとう。 – Johan

+0

あなたは大歓迎です:) – TimWolla

関連する問題