⊗ppSpJnPE 20 of 83 menu

PHPにおけるJSON解析時のパーサーエラー

関数json_last_errorを使用すると、 JSONのパース中に具体的にどのエラーが 発生したかを知ることができます。 どのように行うか見てみましょう。 不正なJSONがあるとします:

<?php $json = '["a", "b", "c",]'; ?>

これを解析してみましょう:

<?php $data = json_decode($json); var_dump($data); // nullを出力します ?>

エラーが発生したため、json_last_errorを 呼び出すとそのエラー番号が返されます:

<?php $error = json_last_error(); var_dump($error); // エラー番号 ?>

返される番号は、PHPの特別な定数と 比較することができます。 これに基づいて、さまざまなタイプのエラーを キャッチするコードを書くことができます:

<?php switch (json_last_error()) { case JSON_ERROR_NONE: echo 'エラーはありません'; break; case JSON_ERROR_DEPTH: echo 'スタックの最大深度に達しました'; break; case JSON_ERROR_STATE_MISMATCH: echo '不正なビットまたはモードの不一致'; break; case JSON_ERROR_CTRL_CHAR: echo '不正な制御文字'; break; case JSON_ERROR_SYNTAX: echo '構文エラー、不正なJSON'; break; case JSON_ERROR_UTF8: echo '不正なUTF-8文字、おそらくエンコードが不正です'; break; default: echo '不明なエラー'; break; } ?>

あるJSON文字列が与えられます。 これをPHPのデータ構造に解析してください。 解析結果、またはJSONを解析できなかった場合は その理由を出力してください。

日本語
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItalianoქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否