Php json last error
From w3cyberlearnings
Contents |
PHP function json_last_error
This function returns last error for JSON encoding or decoding.
Syntax json_last_error
json_last_error();
JSON error codes
- 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 encode (available: PHP 5.3.3)
Example 1
<?php // A valid json string $json[] = '{"w3cyberlearning": "Learn PHP and JSON"}'; // An invalid json string which will cause an syntax // error, in this case we used ' instead of " for quotation $json[] = "{`w3cybrelearnings': 'Learning'}"; 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; } ?>
Output
Decoding: {"w3cyberlearning": "Learn PHP and JSON"} - No errors Decoding: {`w3cybrelearnings': 'Learning'} - Syntax error, malformed JSON
Related Links
---json_encode--- json_decode--- json_last_error---