PHP JSON Functions
PHP JSON Introduction
The JSON extension implements the JavaScript Object Notation data-interchange format.
In PHP 5, the decoding is handled by a parser based on the JSON_checker by Douglas Crockford.
PHP 7 has a new and improved parser specifically written for PHP and licensed under the PHP license.
Installation
From PHP 5.2.0, the JSON functions are enabled by default. There is no installation needed to use these functions.
PHP JSON Functions
Function | Description |
---|---|
json_decode() | Decodes a JSON string |
json_encode() | Encode a value to JSON format |
json_last_error() | Returns the last error occurred |
json_last_error_msg() | Returns the error string of the last json_encode() or json_decode() call |
PHP Predefined JSON Constants
Constant | Type | Description |
---|---|---|
JSON_ERROR_NONE | Integer | No error has occurred |
JSON_ERROR_DEPTH | Integer | Maximum stack depth has been exceeded |
JSON_ERROR_STATE_MISMATCH | Integer | Invalid/Malformed JSON |
JSON_ERROR_CTRL_CHAR | Integer | Control character error |
JSON_ERROR_SYNTAX | Integer | Syntax error |
JSON_ERROR_UTF8 | Integer | Malformed UTF-8 characters. PHP 5.3 |
JSON_ERROR_RECURSION | Integer | Invalid recursive reference values. PHP 5.5 |
JSON_ERROR_INF_OR_NAN | Integer | Invalid NAN or INF values. PHP 5.5 |
JSON_ERROR_UNSUPPORTED_TYPE | Integer | Invalid type. PHP 5.5 |
JSON_ERROR_INVALID_PROPERTY_NAME | Integer | Invalid property name. PHP 7.0 |
JSON_ERROR_UTF16 | Integer | Malformed UTF-16 characters. 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 |