// Кодирование
$json = json_encode(['name' => 'John', 'age' => 30]);
// '{"name":"John","age":30}'
$json = json_encode($data, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
// Декодирование
$data = json_decode($json, true); // true = ассоциативный массив
$obj = json_decode($json); // объект stdClass
// Проверка ошибок
if (json_last_error() !== JSON_ERROR_NONE) {
echo json_last_error_msg();
}
// PHP 8.3
json_validate($json); // быстрая проверка без декодированияВажно: json_encode() возвращает false при ошибке. Флаг JSON_THROW_ON_ERROR (PHP 7.3) превращает ошибки в исключения.