json_last_error(3) php man page | unix.com

Man Page: json_last_error

Operating Environment: php

Section: 3

JSON_LAST_ERROR(3)							 1							JSON_LAST_ERROR(3)

json_last_error - Returns the last error occurred

SYNOPSIS
int json_last_error (void )
DESCRIPTION
Returns the last error (if any) occurred during the last JSON encoding/decoding.
PARAMETERS
This function has no parameters.
RETURN VALUES
Returns an integer, the value can be one of the following constants: JSON error codes +----------------------------+---------------------------------------------------+ | Constant | | | | | | | Meaning | | | | | | Availability | | | | +----------------------------+---------------------------------------------------+ | | | | JSON_ERROR_NONE | | | | | | | No error has occurred | | | | | | | | | T{ | | | | | | JSON_ERROR_DEPTH | | | | | | The maximum stack depth has been exceeded | | | | | | | | | T{ | | | | | | JSON_ERROR_STATE_MISMATCH | | | | | | Invalid or malformed JSON | | | | | | | | | T{ | | | | | | JSON_ERROR_CTRL_CHAR | | | | | | Control character error, possibly incorrectly | | | encoded | | | | | | | | | T{ | | | | | | JSON_ERROR_SYNTAX | | | | | | Syntax error | | | | | | | | | T{ | | | | | | 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 | | | | +----------------------------+---------------------------------------------------+
EXAMPLES
Example #1 json_last_error(3) example <?php // A valid json string $json[] = '{"Organization": "PHP Documentation Team"}'; // An invalid json string which will cause an syntax // error, in this case we used ' instead of " for quotation $json[] = "{'Organization': 'PHP Documentation Team'}"; foreach ($json as $string) { echo 'Decoding: ' . $string; json_decode($string); switch (json_last_error()) { case JSON_ERROR_NONE: echo ' - No errors'; break; case JSON_ERROR_DEPTH: echo ' - Maximum stack depth exceeded'; break; case JSON_ERROR_STATE_MISMATCH: echo ' - Underflow or the modes mismatch'; break; case JSON_ERROR_CTRL_CHAR: echo ' - Unexpected control character found'; break; case JSON_ERROR_SYNTAX: echo ' - Syntax error, malformed JSON'; break; case JSON_ERROR_UTF8: echo ' - Malformed UTF-8 characters, possibly incorrectly encoded'; break; default: echo ' - Unknown error'; break; } echo PHP_EOL; } ?> The above example will output: Decoding: {"Organization": "PHP Documentation Team"} - No errors Decoding: {'Organization': 'PHP Documentation Team'} - Syntax error, malformed JSON Example #2 json_last_error(3) with json_encode(3) <?php // An invalid UTF8 sequence $text = "xB1x31"; $json = json_encode($text); $error = json_last_error(); var_dump($json, $error === JSON_ERROR_UTF8); ?> The above example will output: string(4) "null" bool(true)
SEE ALSO
json_last_error_msg(3), json_decode(3), json_encode(3). PHP Documentation Group JSON_LAST_ERROR(3)
Related Man Pages
json_write(n) - mojave
define(3) - php
eval(3) - php
php_uname(3) - php
json::rpc::client(3pm) - debian
Similar Topics in the Unix Linux Community
end of case
Using variable in case statement
Please explain this
Organization data based on two conditions applied problem asking...
PHP parsing quotation