ホームページ >バックエンド開発 >PHPチュートリアル >有効な JSON 形式にもかかわらず、JSON_DECODE() の「SYNTAX ERROR」を解決するにはどうすればよいですか?
オンライン フォーマッタでは有効な JSON にもかかわらず、JSON_ERROR_SYNTAX
外部フォーマッタでは JSON が有効に見えるにもかかわらず、json_decode() からの "SYNTAX ERROR" 応答が発生しました困惑するかもしれません。これは包括的な解決策です:
隠し文字の削除:
非表示の文字は構文エラーを引き起こす可能性があります。次のコードを使用してこれらの文字を削除します:
<code class="php">$json = file_get_contents('http://www.mywebservice'); // Remove unwanted characters for ($i = 0; $i <p><strong>クリーン化された JSON のデコード:</strong></p> <p>隠し文字が削除されたので、JSON をデコードします:</p> <pre class="brush:php;toolbar:false"><code class="php">$obj = json_decode($json);</code>
エラー処理:
それでもデコードが失敗する場合は、json_last_error() を使用して特定のエラー コードを確認してください:
<code class="php">switch (json_last_error()) { case JSON_ERROR_NONE: echo 'JSON_ERROR_NONE'; break; case JSON_ERROR_DEPTH: echo 'JSON_ERROR_DEPTH'; break; // ... Other error codes default: echo 'Unknown Error'; break; }</code>
次の手順に従うことで、 JSON 構文エラーを修正し、JSON データを正常にデコードできます。 PHP 5.5 の json_last_error_msg() 関数は追加のエラー詳細を提供しますが、隠し文字やデコードの問題を解決した後は必要ない場合があります。
以上が有効な JSON 形式にもかかわらず、JSON_DECODE() の「SYNTAX ERROR」を解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。