Quick Reference
The PHP json_last_error() function returns the last error occurred.
<?php
// An invalid json string
$string = "{'Johnny':11, 'Marty':56}";
echo 'Decoding: ' . $string;
json_decode($string);
echo '<br>Error: ';
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 'Invalid or malformed JSON';
break;
case JSON_ERROR_CTRL_CHAR:
echo 'Control character error';
break;
case JSON_ERROR_SYNTAX:
echo 'Syntax error';
break;
case JSON_ERROR_UTF8:
echo 'Malformed UTF-8 characters';
break;
default:
echo 'Unknown error';
break;
}
?>
Output
- JSON_ERROR_NONE (no error has occurred)
- JSON_ERROR_DEPTH (maximum stack depth has been exceeded)
- JSON_ERROR_STATE_MISMATCH (Invalid/Malformed JSON)
- JSON_ERROR_CTRL_CHAR (Control character error)
- JSON_ERROR_SYNTAX (Syntax error)
- JSON_ERROR_UTF8 (Malformed UTF-8 characters. PHP 5.3)
- JSON_ERROR_RECURSION (Invalid recursive reference values. PHP 5.5)
- JSON_ERROR_INF_OR_NAN (Invalid nan or inf values. PHP 5.5)
- JSON_ERROR_UNSUPPORTED_TYPE (Invalid type. PHP 5.5)
- JSON_ERROR_INVALID_PROPERTY_NAME (Invalid property name. PHP 7.0)
- JSON_ERROR_UTF16 (Malformed UTF-16 characters. PHP 7.0)
Syntax
json_last_error()
PHP Notes:
- When using PHP, single or double quotation marks are acceptable and work identically to one another; choose whichever you prefer, and stay consistent
- Arrays count starting from zero NOT one; so item 1 is position [0], item 2 is position [1], and item 3 is position [2] … and so on
We’d like to acknowledge that we learned a great deal of our coding from W3Schools and TutorialsPoint, borrowing heavily from their teaching process and excellent code examples. We highly recommend both sites to deepen your experience, and further your coding journey. We’re just hitting the basics here at 1SMARTchicken.