PHP json_last_error() Function

❮ PHP JSON Reference

Example

Return the last error occurred:

<?php
// An invalid json string
$string = "{'Peter':35,'Ben':37,'Joe':43}";

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;
}
?>
Run Example »

Definition and Usage

The json_last_error() function returns the last error occurred.


Syntax

json_last_error()

Parameter Values

NONE.

Technical Details

Return Value: Returns an integer, and the value can be one of the following constants:
  • 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)
PHP Version: 5.3+

❮ PHP JSON Reference
Copyright 1999-2023 by Refsnes Data. All Rights Reserved.