json_encode. * @link https://php.net/manual/en/class.jsonserializable.php * @since 5.4 */ interface JsonSerializable { /** * Specify data which should be serialized to JSON * @link https://php.net/manual/en/jsonserializable.jsonserialize.php * @return mixed data which can be serialized by json_encode, * which is a value of any type other than a resource. * @since 5.4 */ #[TentativeType] public function jsonSerialize(): mixed; } class JsonIncrementalParser { public const JSON_PARSER_SUCCESS = 0; public const JSON_PARSER_CONTINUE = 1; /** * @param int $depth [optional] * @param int $options [optional] */ #[Pure] public function __construct($depth, $options) { } #[Pure] public function getError() { } public function reset() { } /** * @param string $json */ public function parse($json) { } /** * @param string $filename */ public function parseFile($filename) { } /** * @param int $options [optional] */ #[Pure] public function get($options) { } } /** * Class JsonException * *
A new flag has been added, JSON_THROW_ON_ERROR, which can be used with * json_decode() or json_encode() and causes these functions to throw a * JsonException upon an error, instead of setting the global error state that * is retrieved with json_last_error(). JSON_PARTIAL_OUTPUT_ON_ERROR takes * precedence over JSON_THROW_ON_ERROR. *
* * @since 7.3 * @link https://wiki.php.net/rfc/json_throw_on_error */ class JsonException extends Exception { } /** * (PHP 5 >= 5.2.0, PECL json >= 1.2.0)* The value being encoded. Can be any type except * a resource. *
** All string data must be UTF-8 encoded. *
*PHP implements a superset of * JSON - it will also encode and decode scalar types and NULL. The JSON standard * only supports these values when they are nested inside an array or an object. *
* @param int $flags [optional]* Bitmask consisting of JSON_HEX_QUOT, * JSON_HEX_TAG, * JSON_HEX_AMP, * JSON_HEX_APOS, * JSON_NUMERIC_CHECK, * JSON_PRETTY_PRINT, * JSON_UNESCAPED_SLASHES, * JSON_FORCE_OBJECT, * JSON_UNESCAPED_UNICODE. * JSON_THROW_ON_ERROR The behaviour of these * constants is described on * the JSON constants page. *
* @param int $depth [optional]* Set the maximum depth. Must be greater than zero. *
* @return string|false a JSON encoded string on success or FALSE on failure. */ function json_encode(mixed $value, int $flags = 0, int $depth = 512): string|false { } /** * (PHP 5 >= 5.2.0, PECL json >= 1.2.0)* The json string being decoded. *
** This function only works with UTF-8 encoded strings. *
*PHP implements a superset of * JSON - it will also encode and decode scalar types and NULL. The JSON standard * only supports these values when they are nested inside an array or an object. *
* @param bool|null $associative* When TRUE, returned objects will be converted into * associative arrays. *
* @param int $depth [optional]* User specified recursion depth. *
* @param int $flags [optional]
* Bitmask of JSON decode options:
* {@see JSON_BIGINT_AS_STRING} decodes large integers as their original string value.
* {@see JSON_INVALID_UTF8_IGNORE} ignores invalid UTF-8 characters,
* {@see JSON_INVALID_UTF8_SUBSTITUTE} converts invalid UTF-8 characters to \0xfffd,
* {@see JSON_OBJECT_AS_ARRAY} decodes JSON objects as PHP array, since 7.2.0 used by default if $assoc parameter is null,
* {@see JSON_THROW_ON_ERROR} when passed this flag, the error behaviour of these functions is changed. The global error state is left untouched, and if an error occurs that would otherwise set it, these functions instead throw a JsonException
*
Constant | *Meaning | *Availability | *
---|---|---|
JSON_ERROR_NONE |
* No error has occurred | ** |
JSON_ERROR_DEPTH |
* The maximum stack depth has been exceeded | ** |
JSON_ERROR_STATE_MISMATCH |
* Invalid or malformed JSON | ** |
JSON_ERROR_CTRL_CHAR |
* Control character error, possibly incorrectly encoded | ** |
JSON_ERROR_SYNTAX |
* Syntax error | ** |
JSON_ERROR_UTF8 |
* Malformed UTF-8 characters, possibly incorrectly encoded | *PHP 5.3.3 | *
JSON_ERROR_RECURSION |
* One or more recursive references in the value to be encoded | *PHP 5.5.0 | *
JSON_ERROR_INF_OR_NAN |
*
* One or more
* NAN
* or INF
* values in the value to be encoded
* |
* PHP 5.5.0 | *
JSON_ERROR_UNSUPPORTED_TYPE |
* A value of a type that cannot be encoded was given | *PHP 5.5.0 | *
JSON_ERROR_INVALID_PROPERTY_NAME |
* A property name that cannot be encoded was given | *PHP 7.0.0 | *
JSON_ERROR_UTF16 |
* Malformed UTF-16 characters, possibly incorrectly encoded | *PHP 7.0.0 | *