Web サービス呼び出しにおける JSON デコードの問題について
Web サービスの対話では、json_decode 関数が NULL を返すことがあります。 Web サービスが次のような JSON データを提供する場合、混乱する問題が発生します。
var_dump($foo): string(62) "{"action":"set","user":"123123123123","status":"OK"}"
しかし、アプリケーションで JSON をデコードしようとすると NULL が返されます:
$data = json_decode($foo, true); var_dump($data): NULL
問題
この問題の潜在的な原因の 1 つは、PHP のマジック クオート機能です。マジック クオートはフォーム データ内の特殊文字を自動的にエスケープするため、JSON 解析を妨げる可能性があります。これを解決するには:
if (get_magic_quotes_gpc()) { $param = stripslashes($_POST['param']); } else { $param = $_POST['param']; } $param = json_decode($param, true);
マジック クオートを無効にするか、JSON データからスラッシュを削除することにより、アプリケーションは JSON を正確にデコードし、必要な情報を取得できます。
以上が有効に見える JSON データにもかかわらず、「json_decode」が NULL を返すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。