json_last_error_msg

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

json_last_error_msgReturns the error string of the last json_encode() or json_decode() call

Description

json_last_error_msg(): string

Returns the error string of the last json_encode() or json_decode() call, which did not specify JSON_THROW_ON_ERROR.

Parameters

This function has no parameters.

Return Values

Returns the error message on success, or "No error" if no error has occurred.

See Also

add a note add a note

User Contributed Notes 1 note

up
17
Anonymous
9 years ago
Here's an updated version of the function:

<?php
   
if (!function_exists('json_last_error_msg')) {
        function
json_last_error_msg() {
            static
$ERRORS = array(
               
JSON_ERROR_NONE => 'No error',
               
JSON_ERROR_DEPTH => 'Maximum stack depth exceeded',
               
JSON_ERROR_STATE_MISMATCH => '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 encoded'
           
);

           
$error = json_last_error();
            return isset(
$ERRORS[$error]) ? $ERRORS[$error] : 'Unknown error';
        }
    }
?>
To Top