<?php
// Допустимая json-строка
$json[] = '{"Организация": "Команда PHP-документации"}';
// Недопустимая json-строка, которая вызовет синтаксическую ошибку,
// поскольку вместо двойных кавычек указали одинарные
$json[] = "{'Организация': 'Команда PHP-документации'}";
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;
}
?>
Результат выполнения приведённого примера:
Декодируем: {"Организация": "Команда PHP-документации"} — Без ошибок
Декодируем: {'Организация': 'Команда PHP-документации'} — Синтаксическая ошибка, некорректный формат JSON