PHP | json_decode(): Argument #1 ($json) must be of type string エラーの原因と修正案
PHPでエラー「json_decode(): Argument #1 ($json) must be of type string ~」が発生する原因と対処・修正案について紹介しています。
Fatal error: Uncaught TypeError: json_decode(): Argument #1 ($json) must be of type string, array given in ~
致命的なエラー:キャッチされないTypeError:json_decode():引数は文字列型である必要があります
json_decode(): Argument #1 ($json) must be of type string エラーの発生原因と修正案
「json_decode(): Argument #1 ($json) must be of type string ~」というPHPエラーはjson_decode()
にてJSON文字列ではない値が引数に指定されている場合に発生するエラーです。
このエラーは致命的なエラー(Fatal error)、キャッチされないタイプエラー(Uncaught TypeError)に分類されています。
このエラーは例えば以下のようなPHPコードにて発生します。json_decode()
の引数に配列を指定しているためJSONデータとして処理できずエラーとなっています。
$a = [1, 2, 3];
$b = json_decode($a, true);
「json_decode(): Argument #1 ($json) must be of type string ~」を修正するには、引数に指定している値がJSONデータであるかどうかを確認する必要があります。
また、JSONを配列に変換するjson_decode()
と配列をJSONに変換するjson_encode()
を間違えて利用している可能性もあるかもしれません。
json_decode()
とjson_encode()
については、以下のページで紹介しています。
関連:PHP | JSONのエンコードとデコード、お勧めオプションなど | ONE NOTES
ディスカッション
コメント一覧
まだ、コメントがありません