The constants below are defined by this extension, and will only be available when the extension has either been compiled into PHP or dynamically loaded at runtime.
The following constants indicate the type of error returned by json_last_error(). They are all available as of PHP 5.3.0.
- JSON_ERROR_NONE (integer)
- No error has occurred.
- JSON_ERROR_DEPTH (integer)
- The maximum stack depth has been exceeded.
- JSON_ERROR_STATE_MISMATCH (integer)
- Occurs with underflow or with the modes mismatch.
- JSON_ERROR_CTRL_CHAR (integer)
- Control character error, possibly incorrectly encoded.
- JSON_ERROR_SYNTAX (integer)
- Syntax error.
- JSON_ERROR_UTF8 (integer)
- Malformed UTF-8 characters, possibly incorrectly encoded. This constant is available as of PHP 5.3.1.
The following constants can be combined to form options for json_encode(). They are all available as of PHP 5.3.0.
- JSON_HEX_TAG (integer)
- All < and > are converted to \u003C and \u003E.
- JSON_HEX_AMP (integer)
- All &s are converted to \u0026.
- JSON_HEX_APOS (integer)
- All ' are converted to \u0027.
- JSON_HEX_QUOT (integer)
- All " are converted to \u0022.
- 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.
- JSON_NUMERIC_CHECK (integer)
- Encodes numeric strings as numbers. Available since PHP 5.3.3.
- JSON_BIGINT_AS_STRING (integer)
- Available since PHP 5.4.0.
- JSON_PRETTY_PRINT (integer)
- Use whitespace in returned data to format it. Available since PHP 5.4.0.
- JSON_UNESCAPED_SLASHES (integer)
- Don't escape /. Available since PHP 5.4.0.
- JSON_UNESCAPED_UNICODE (integer)
- Encode multibyte Unicode characters literally (default is to escape as \uXXXX). Available since PHP 5.4.0.