ホームページ > バックエンド開発 > PHPチュートリアル > 有効に見える JSON データにもかかわらず、「json_decode」が NULL を返すのはなぜですか?

有効に見える JSON データにもかかわらず、「json_decode」が NULL を返すのはなぜですか?

DDD
リリース: 2024-12-12 22:19:11
オリジナル
897 人が閲覧しました

Why Does `json_decode` Return NULL Despite Valid-Looking JSON Data?

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 サイトの他の関連記事を参照してください。

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