&reftitle.constants;
&extension.constants;
The following constants indicate the type of error returned by
json_last_error or stored as the code
of a JsonException.
JSON_ERROR_NONE
(&integer;)
No error has occurred.
Available as of PHP 5.3.0.
JSON_ERROR_DEPTH
(&integer;)
The maximum stack depth has been exceeded.
Available as of PHP 5.3.0.
JSON_ERROR_STATE_MISMATCH
(&integer;)
Occurs with underflow or with the modes mismatch.
Available as of PHP 5.3.0.
JSON_ERROR_CTRL_CHAR
(&integer;)
Control character error, possibly incorrectly encoded.
Available as of PHP 5.3.0.
JSON_ERROR_SYNTAX
(&integer;)
Syntax error.
Available as of PHP 5.3.0.
JSON_ERROR_UTF8
(&integer;)
Malformed UTF-8 characters, possibly incorrectly encoded.
Available as of PHP 5.3.3.
JSON_ERROR_RECURSION
(&integer;)
The object or array passed to json_encode include
recursive references and cannot be encoded.
If the JSON_PARTIAL_OUTPUT_ON_ERROR option was
given, &null; will be encoded in the place of the recursive reference.
Available as of PHP 5.5.0.
JSON_ERROR_INF_OR_NAN
(&integer;)
The value passed to json_encode includes either
NAN
or INF.
If the JSON_PARTIAL_OUTPUT_ON_ERROR option was
given, 0 will be encoded in the place of these
special numbers.
Available as of PHP 5.5.0.
JSON_ERROR_UNSUPPORTED_TYPE
(&integer;)
A value of an unsupported type was given to
json_encode, such as a &resource;.
If the JSON_PARTIAL_OUTPUT_ON_ERROR option was
given, &null; will be encoded in the place of the unsupported value.
Available as of PHP 5.5.0.
JSON_ERROR_INVALID_PROPERTY_NAME
(&integer;)
A key starting with \u0000 character was in the string passed to
json_decode when decoding a JSON object into a PHP
object.
Available as of PHP 7.0.0.
JSON_ERROR_UTF16
(&integer;)
Single unpaired UTF-16 surrogate in unicode escape contained in the
JSON string passed to json_encode.
Available as of PHP 7.0.0.
The following constants can be combined to form options for
json_decode.
JSON_BIGINT_AS_STRING
(&integer;)
Decodes large integers as their original string value.
Available as of PHP 5.4.0.
JSON_OBJECT_AS_ARRAY
(&integer;)
Decodes JSON objects as PHP array. This option can be added automatically
by calling json_decode with the second parameter
equal to &true;.
Available as of PHP 5.4.0.
The following constants can be combined to form options for
json_encode.
JSON_HEX_TAG
(&integer;)
All < and > are converted to \u003C and \u003E.
Available as of PHP 5.3.0.
JSON_HEX_AMP
(&integer;)
All & are converted to \u0026.
Available as of PHP 5.3.0.
JSON_HEX_APOS
(&integer;)
All ' are converted to \u0027.
Available as of PHP 5.3.0.
JSON_HEX_QUOT
(&integer;)
All " are converted to \u0022.
Available as of PHP 5.3.0.
JSON_FORCE_OBJECT
(&integer;)
Outputs an object rather than an array when a non-associative array is
used. Especially useful when the recipient of the output is expecting
an object and the array is empty.
Available as of PHP 5.3.0.
JSON_NUMERIC_CHECK
(&integer;)
Encodes numeric strings as numbers.
Available as of PHP 5.3.3.
JSON_PRETTY_PRINT
(&integer;)
Use whitespace in returned data to format it.
Available as of PHP 5.4.0.
JSON_UNESCAPED_SLASHES
(&integer;)
Don't escape /.
Available as of PHP 5.4.0.
JSON_UNESCAPED_UNICODE
(&integer;)
Encode multibyte Unicode characters literally (default is to escape as
\uXXXX).
Available as of PHP 5.4.0.
JSON_PARTIAL_OUTPUT_ON_ERROR
(&integer;)
Substitute some unencodable values instead of failing.
Available as of PHP 5.5.0.
JSON_PRESERVE_ZERO_FRACTION
(&integer;)
Ensures that &float; values are always encoded as a float value.
Available as of PHP 5.6.6.
JSON_UNESCAPED_LINE_TERMINATORS
(&integer;)
The line terminators are kept unescaped when
JSON_UNESCAPED_UNICODE is supplied. It uses the same
behaviour as it was before PHP 7.1 without this constant.
Available as of PHP 7.1.0.
The following constants can be combined to form options for
json_decode and json_encode.
JSON_INVALID_UTF8_IGNORE
(&integer;)
Ignore invalid UTF-8 characters.
Available as of PHP 7.2.0.
JSON_INVALID_UTF8_SUBSTITUTE
(&integer;)
Convert invalid UTF-8 characters to \0xfffd
(Unicode Character 'REPLACEMENT CHARACTER')
Available as of PHP 7.2.0.
JSON_THROW_ON_ERROR
(&integer;)
Throws JsonException if an error occurs instead
of setting the global error state that is retrieved with
json_last_error and json_last_error_msg.
JSON_PARTIAL_OUTPUT_ON_ERROR takes precedence over
JSON_THROW_ON_ERROR.
Available as of PHP 7.3.0.