Aujourd'hui, je vais vous présenter un outil sympatique pour trouver les lignes d'une table Joomla où le format JSON n'a pas été correctement enregistré.
En effet, sur un site client, cette erreur de décodage JSON provoquait un non affichage de l'élément et/ou au pire une erreur 500 de la part du serveur. Après recherche sur le forum du composant concerné, je me suis rendu compte que le problème était plus général et pas forcément lié à ce composant. Après moulte perégrinations sur Internet, je suis tombé sur le script de Robert Went que vous pouvez trouver ici : https://github.com/robwent/joomla-json-db-check/blob/master/json-db-check.php
Il permet de lister les lignes JSON en défaut dans toute la base de données. A vous ensuite de corriger dans la base la ou les lignes concernées.
Exemple de sortie écran lorsque vous lancez le script json-db-check.php :
Checking table: gwci_acymailing_mail, column params
Row 8 is not valid JSON. Error: (Syntax error)
Content: a:3:{s:6:"action";s:7:"confirm";s:13:"actionbtntext";s:28:"{trans:CONFIRM_SUBSCRIPTION}";s:9:"actionurl";s:19:"{confirm}{/confirm}";}
Checking table: gdci_allevents_customfields, column params
joomla-conseil.com n'est ni affilié à Open Source Matters ou au projet Joomla!® ni approuvé par eux. Le nom Joomla! et le logo sont utilisé sous licence limitée accordée par Open Source Matters, propriétaire de la marque aux États-Unis et autres pays. joomla-conseil.com is not affiliated with or endorsed by The Joomla! Project™. Use of the Joomla!® name, symbol, logo and related trademarks is permitted under a limited license granted by Open Source Matters, Inc.