以下の定数が定義されています。 この関数の拡張モジュールが PHP 組み込みでコンパイルされているか、 実行時に動的にロードされている場合のみ使用可能です。
次の定数は、json_last_error() が返したり、 JsonException の code に格納されている エラーの型を表します。
JSON_ERROR_NONE
(int)
JSON_ERROR_DEPTH
(int)
JSON_ERROR_STATE_MISMATCH
(int)
JSON_ERROR_CTRL_CHAR
(int)
JSON_ERROR_SYNTAX
(int)
JSON_ERROR_UTF8
(int)
JSON_ERROR_RECURSION
(int)
json_encode() に渡した配列やオブジェクトに再帰参照が含まれており、エンコードできません。
JSON_PARTIAL_OUTPUT_ON_ERROR
オプションを指定した場合は、
再帰参照の部分を null
にエンコードします。
JSON_ERROR_INF_OR_NAN
(int)
NAN
あるいは INF
が含まれています。
JSON_PARTIAL_OUTPUT_ON_ERROR
オプションを指定した場合は、
これらの特殊な数値を 0
にエンコードします。
JSON_ERROR_UNSUPPORTED_TYPE
(int)
JSON_PARTIAL_OUTPUT_ON_ERROR
オプションを指定した場合は、
これらを null
にエンコードします。
JSON_ERROR_INVALID_PROPERTY_NAME
(int)
JSON_ERROR_UTF16
(int)
次の定数は、 json_decode() のオプションとして 組み合わせて使用します。
JSON_BIGINT_AS_STRING
(int)
JSON_OBJECT_AS_ARRAY
(int)
true
に設定して呼び出すことで、自動的に設定できます。
次の定数は、 json_encode() のオプションとして組み合わせて使用します。
JSON_HEX_TAG
(int)
JSON_HEX_AMP
(int)
JSON_HEX_APOS
(int)
JSON_HEX_QUOT
(int)
JSON_FORCE_OBJECT
(int)
JSON_NUMERIC_CHECK
(int)
JSON_PRETTY_PRINT
(int)
JSON_UNESCAPED_SLASHES
(int)
/
をエスケープしません。
JSON_UNESCAPED_UNICODE
(int)
JSON_PARTIAL_OUTPUT_ON_ERROR
(int)
JSON_PRESERVE_ZERO_FRACTION
(int)
JSON_UNESCAPED_LINE_TERMINATORS
(int)
JSON_UNESCAPED_UNICODE
が指定されると、
行の終端をエスケープされないままにします。
PHP 7.1 より前のバージョンでは、
この定数がなくてもそういう振る舞いをしていました。
PHP 7.1.0 以降で使用可能です。
次の定数は、 json_decode() および json_encode() のオプションとして組み合わせて使用します。
JSON_INVALID_UTF8_IGNORE
(int)
JSON_INVALID_UTF8_SUBSTITUTE
(int)
JSON_THROW_ON_ERROR
(int)
JSON_PARTIAL_OUTPUT_ON_ERROR
は
JSON_THROW_ON_ERROR
よりも優先します。
PHP 7.3.0 以降で使用可能です。