Наша группа в телеграмм для обмена идеями, проектами, мыслями, людьми в сфере ИТ г.Ростова-на-Дону: @it_rostov

json_last_error

(PHP 5 >= 5.3.0)

json_last_error — Возвращает последнюю ошибку


Описание

int json_last_error ( void )

Если при последнем JSON кодировании/декодировании возникла ошибка, то возвращает её код.


Список параметров

У этой функции нет параметров.


Возвращаемые значения

Возвращает целочисленное значение, которое может быть одной из следующих констант:

Коды ошибок JSON
Константа Значение Доступность
JSON_ERROR_NONEОшибок нет 
JSON_ERROR_DEPTHДостигнута максимальная глубина стека 
JSON_ERROR_STATE_MISMATCHНеверный или не корректный JSON 
JSON_ERROR_CTRL_CHARОшибка управляющего символа, возможно неверная кодировка 
JSON_ERROR_SYNTAXСинтаксическая ошибка 
JSON_ERROR_UTF8Некорректные символы UTF-8, возможно неверная кодировкаPHP 5.3.3

Примеры

Пример #1 Пример использования json_last_error()
// Верная json-строка
$json[] = '{"Organization": "PHP Documentation Team"}';
// Неверная json-строка, которая вызовет синтаксическую ошибку,
// здесь в качестве кавычек мы используем ' вместо "
$json[] = "{'Organization': 'PHP Documentation Team'}";
foreach ($json as $string) {
    echo 'Декодируем: ' . $string;
    json_decode($string);
    switch (json_last_error()) {
        case JSON_ERROR_NONE:
            echo ' - Ошибок нет';
        break;
        case JSON_ERROR_DEPTH:
            echo ' - Достигнута максимальная глубина стека';
        break;
        case JSON_ERROR_STATE_MISMATCH:
            echo ' - Некорректные разряды или не совпадение режимов';
        break;
        case JSON_ERROR_CTRL_CHAR:
            echo ' - Некорректный управляющий символ';
        break;
        case JSON_ERROR_SYNTAX:
            echo ' - Синтаксическая ошибка, не корректный JSON';
        break;
        case JSON_ERROR_UTF8:
            echo ' - Некорректные символы UTF-8, возможно неверная кодировка';
        break;
        default:
            echo ' - Неизвестная ошибка';
        break;
    }
    echo PHP_EOL;
}

Результат выполнения данного примера:


Декодируем: {"Organization": "PHP Documentation Team"} - Ошибок нет
Декодируем: {'Organization': 'PHP Documentation Team'} - Синтаксическая ошибка, некорректный JSON

Пример #2 Совместное использование json_last_error() и json_encode()
// Некорректная последователньость UTF8
$text = "\xB1\x31";
$json  = json_encode($text);
$error = json_last_error();
var_dump($json, $error === JSON_ERROR_UTF8);

Результат выполнения данного примера:


string(4) "null"
bool(true)


Смотрите также

  • json_decode() - Декодирует JSON строку
  • json_encode() - Возвращает JSON-представление данных


Описание на ru2.php.net
Описание на php.ru

.

Популярное:


Содержание: