&reftitle.constants; &extension.constants; 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.