PHP JSON Functions
PHP JSON Introduction
The JSON extension implements the JavaScript Object Notation data-interchange format.
Installation
From PHP 5.2, 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 |
| json_validate() | Checks if a string contains valid JSON (PHP 8.3) |
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 |
| JSON_ERROR_RECURSION | Integer | Invalid recursive reference values |
| JSON_ERROR_INF_OR_NAN | Integer | Invalid NAN or INF values |
| JSON_ERROR_UNSUPPORTED_TYPE | Integer | Invalid type |
| JSON_ERROR_INVALID_PROPERTY_NAME | Integer | Invalid property name |
| JSON_ERROR_UTF16 | Integer | Malformed UTF-16 characters |
| JSON_BIGINT_AS_STRING | Integer | |
| JSON_OBJECT_AS_ARRAY | Integer | |
| JSON_HEX_TAG | Integer | All < and > are converted to \u003C and \u003E |
| JSON_HEX_AMP | Integer | All & 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 | |
| JSON_NUMERIC_CHECK | Integer | Encodes numeric strings as numbers |
| JSON_PRETTY_PRINT | Integer | Use whitespace in returned data to format it |
| JSON_UNESCAPED_SLASHES | Integer | Do not escape / |
| JSON_PARTIAL_OUTPUT_ON_ERROR | Integer | |
| JSON_PRESERVE_ZERO_FRACTION | Integer | |
| JSON_UNESCAPED_LINE_TERMINATORS | Integer | |
| JSON_INVALID_UTF8_IGNORE | Integer | Ignore invalid UTF-8 characters |
| JSON_INVALID_UTF8_SUBSTITUTE | Integer | Convert invalid UTF-8 characters to \0xfffd |
| JSON_THROWN_ON_ERROR | Integer |