(PHP 5 >= 5.3.0)
json_last_error — Returns the last error occured
Returns the last error (if any) occured by last JSON parsing.
This function has no parameters.
Returns an integer, the value can be one of the following constants:
Constant | Meaning |
---|---|
JSON_ERROR_NONE | No error has occured |
JSON_ERROR_DEPTH | The maximum stack depth has been exceeded |
JSON_ERROR_CTRL_CHAR | Control character error, possibly incorrectly encoded |
JSON_ERROR_SYNTAX | Syntax error |
Example #1 json_last_error() 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_DEPTH:
echo ' - Maximum stack depth exceeded';
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_NONE:
echo ' - No errors';
break;
}
echo PHP_EOL;
}
?>
上例将输出:
Decoding: {"Organization": "PHP Documentation Team"} - No errors Decoding: {'Organization': 'PHP Documentation Team'} - Syntax error, malformed JSON