PHP JSON関数 リファレンス

PHP JSONについて

JSON拡張機能は、JavaScript Object Notation データ交換フォーマットを実装しています。

PHP 5 では、デコーディングは JSON_checker に基づくパーサーで処理されます(Douglas Crockford による)。

PHP 7 には、PHP 専用に改良された新しいパーサーがあり、PHP ライセンスの下でライセンスされています。

インストール

PHP 5.2.0 以降、JSON 関数はデフォルトで有効になっています。これらの関数を使用するには追加のインストールは不要です。

PHP JSON 関数

関数 説明
json_decode() JSON 文字列をデコードします
json_encode() 値を JSON フォーマットにエンコードします
json_last_error() 直近のエラーを返します
json_last_error_msg() 直近の json_encode() または json_decode() の呼び出しで発生したエラーのエラーメッセージを返します

PHP 事前定義 JSON 定数

定数 説明
JSON_ERROR_NONE Integer エラーは発生していません
JSON_ERROR_DEPTH Integer 最大スタックの深度を超えました
JSON_ERROR_STATE_MISMATCH Integer 無効または不正な JSON 形式です
JSON_ERROR_CTRL_CHAR Integer 制御文字エラーです
JSON_ERROR_SYNTAX Integer 構文エラーです
JSON_ERROR_UTF8 Integer 不正な UTF-8 文字が含まれています(PHP 5.3 以降)
JSON_ERROR_RECURSION Integer 無効な再帰参照値です(PHP 5.5 以降)
JSON_ERROR_INF_OR_NAN Integer 無効な NAN または INF 値です(PHP 5.5 以降)
JSON_ERROR_UNSUPPORTED_TYPE Integer 無効な型です(PHP 5.5 以降)
JSON_ERROR_INVALID_PROPERTY_NAME Integer 無効なプロパティ名です(PHP 7.0 以降)
JSON_ERROR_UTF16 Integer 不正な UTF-16 文字が含まれています(PHP 7.0 以降)
JSON_BIGINT_AS_STRING Integer
JSON_OBJECT_AS_ARRAY Integer
JSON_HEX_TAG Integer
JSON_HEX_AMP Integer
JSON_HEX_APOS Integer
JSON_HEX_QUOT Integer
JSON_FORCE_OBJECT Integer
JSON_NUMERIC_CHECK Integer
JSON_PRETTY_PRINT Integer
JSON_UNESCAPED_SLASHES Integer
JSON_PARTIAL_OUTPUT_ON_ERROR Integer
JSON_PRESERVE_ZERO_FRACTION Integer
JSON_UNESCAPED_LINE_TERMINATORS Integer
JSON_INVALID_UTF8_IGNORE Integer
JSON_INVALID_UTF8_SUBSTITUTE Integer
JSON_THROWN_ON_ERROR Integer