На днях накатал обновление с 3.6.2 до 3.6.5, и как следствие столкнулся с ошибкой
Error decoding JSON data: syntax error В итоге прочитал много разных советов и постов, и часто встречал эту ссылку
https://github.com/robwent/joomla-json-db-check Везде писали, просто закинь и запусти, либо давали sql запросы, по типу
UPDATE xxx_extensions SET params="" WHERE params = "{\"\"}";
В общем в помощь другим столкнувшимся с данной бедой, опишу более подробно, что нужно сделать, ибо я нигде этого не нашел, в том числе и в данной ветке форума.
Итак, столкнувшись с этой ошибкой, первым делом загрузите с гитхаба, по ссылке выше скрипт, и спокойно его запускайте, на данном этапе бекап бд не требуется, так как этот скрипт - просто анализирует ключевые таблицы на соответствие json синтаксиса по полям параметров. И в ответ выдает список таблиц и строк содержащих ошибку. Он не лечит, он не указывает, где конкретно будет ошибка. Нет, он только указывает, что она есть. Далее нужно самостоятельно проанализировать, и определить, ошибку и исправить ее. Лично я все делал в HeidiSQL, так в нем мне не приходится тратить время на составление запросов, а можно воспользоваться интерфейсом "поиск - замена" - ошибок было много и все они однотипные.
Пример результата сканирования таблиц, для понимания, на что обращать внимание.:
Здесь мы видим, что таблица joomla_content в строке 1214 содержит поле с ошибкой. И выдано содержимое поля.
С первого взгляда, найти ошибку затруднительно, особенно для тех, кто не имеет представления, о построении содержимого. Потому давайте разберем содержимое. Логично, что здесь мы видим параметр и его значение, к примеру "show_title" - это параметр, а "0" - значение. Их здесь много, и все они пишутся обязательно в кавычках, после параметра следует двоеточие, затем в кавычках значение. Кавычки обязательны, даже если значение пустое. Разделение между собой параметров осуществляется через запятую. Понимая все это, найти ошибку не составит труда, в примере две ошибки:
"link_parent_category":",
"show_urls_images_frontend":"}Всего-то не хватает второй кавычки. Так как у меня проблемы были с сайтом, в котором бд, переносилась с другого движка, посредством импорта с адаптированного сsv файла, в момент импорта что-то терялось. Местами, так и вовсе, были задвоенные кавычки -
""link_parent_category"":"""". Думаю принцип поиска и исправления понятен, и кому-то поможет, просто ошибки могут быть у всех разные, и стандартные рекомендации с форуме не помогут. Именно так и было в моем случае, все писали только о модулях, а о том, что ошибки могут оказаться и в таблицах со статьями, никто не предполагал.
Всем удачи в исправлении этой ошибки!