json_last_error

funkcja

Zwraca kod błędu ostatniej operacji json_encode lub json_decode. Zwraca 0 (JSON_ERROR_NONE) gdy nie było błędu.

json_last_error(): int

json_last_error zwraca kod ostatniego błędu JSON jako liczbę całkowitą. Wartość 0 oznacza brak błędu (JSON_ERROR_NONE), a 4 — błąd składni (JSON_ERROR_SYNTAX). Funkcja przydaje się gdy chcesz sprawdzić przyczynę niepowodzenia json_decode lub json_encode bez odczytywania komunikatu tekstowego. W PHP 8.3+ rozważ zamiast tego json_validate do samej walidacji.

<?php
declare(strict_types=1);

json_decode('{"a":1}');
var_dump(json_last_error()); // wynik: int(0)

json_decode('{bad}');
var_dump(json_last_error()); // wynik: int(4)

if (json_last_error() !== JSON_ERROR_NONE) {
    echo 'Błąd JSON: ' . json_last_error_msg();
}
// wynik: Błąd JSON: Syntax error