Prestashop : comment corriger unexpected character at line of the JSON ?

Prestashop : Identifier le fichier JSON concerné
L’erreur "unexpected character" signifie qu’un caractère illégal se trouve à une ligne précise d’un fichier JSON utilisé par Prestashop, souvent lors d’une traduction ou mise à jour.
Commence par localiser le fichier indiqué dans l’erreur (généralement fr-FR.json ou en-US.json). Ces fichiers se trouvent souvent dans /themes/, /translations/ ou /modules/. Prestashop ne peut pas lire un JSON mal formé, ce qui bloque le chargement des données.
Prestashop : Vérifier la structure du JSON avec un validateur
La cause la plus fréquente d’un "unexpected character" est une virgule en trop, un guillemet manquant ou une balise mal fermée. Cela empêche Prestashop d’interpréter correctement le contenu du fichier.
Copie le contenu du fichier dans un outil comme JSONLint ou jsonformatter.org. L’outil t’indiquera précisément la ligne et le caractère fautif. Corrige la structure pour que Prestashop puisse à nouveau charger le JSON sans erreur.
Prestashop : Corriger l'encodage du fichier JSON
Même si la structure est correcte, un mauvais encodage peut produire des caractères invisibles non pris en charge, causant une erreur JSON au chargement.
Ouvre le fichier avec un éditeur tel que Notepad++ ou VS Code, et enregistre-le avec l’encodage UTF-8 sans BOM. Prestashop attend cet encodage pour que les fichiers JSON soient compatibles avec le front-office.
Prestashop : Vider le cache après correction
Après avoir corrigé un fichier JSON défectueux, il est essentiel de vider le cache de Prestashop pour que les changements soient pris en compte.
Va dans Paramètres avancés > Performance, puis clique sur "Vider le cache". Rafraîchis ensuite ta page avec Ctrl + F5. Cela garantit que Prestashop charge le fichier JSON corrigé et non une version en cache corrompue.
Prestashop : Supprimer et régénérer les traductions
Si un fichier de traduction est trop corrompu, il peut être plus simple de le supprimer et de le régénérer automatiquement via le back-office Prestashop.
Va dans International > Traductions, choisis la langue concernée, et supprime les traductions personnalisées. Ensuite, réinstalle les fichiers de langue officiels. Prestashop créera un fichier JSON propre, évitant ainsi toute erreur de parsing.
Prestashop : Vérifier les caractères spéciaux dans les traductions
Des caractères non échappés (ex : guillemets, apostrophes, symboles HTML) peuvent provoquer des erreurs dans les fichiers JSON générés automatiquement, notamment ceux liés aux traductions ou aux modules.
Évite d’utiliser des doubles guillemets non protégés dans les chaînes traduites. Utilise toujours des caractères correctement échappés (\", \\) pour garantir un JSON conforme. Prestashop ne peut pas lire un champ mal échappé.
Prestashop : Re-télécharger les fichiers JSON officiels
Un fichier JSON peut être corrompu durant une mise à jour, un transfert FTP ou une mauvaise manipulation. Il est possible de re-télécharger la langue officielle pour remplacer les fichiers défectueux.
Va dans International > Traductions > Ajouter une langue, puis sélectionne la langue concernée. Cela installera à nouveau tous les fichiers JSON avec une structure propre, éliminant ainsi les erreurs de caractère inattendu.
Prestashop : Inspecter les fichiers de traduction dans les modules
Certains modules incluent leurs propres fichiers JSON dans /modules/nom_du_module/translations/. Si l’un d’eux est corrompu, il provoque une erreur de type "unexpected character".
Ouvre les fichiers un par un dans un éditeur JSON, et valide leur syntaxe. Si une erreur est détectée, corrige-la ou supprime temporairement le fichier pour voir si Prestashop retrouve un comportement normal.
Prestashop : Analyser la ligne d’erreur indiquée dans la console
L’erreur indique souvent la ligne exacte du fichier problématique. Utilise cette information pour aller directement à la source du problème.
Ouvre le fichier JSON concerné dans un éditeur avec numérotation de lignes, puis navigue jusqu’à la ligne signalée. La présence d’un caractère inattendu est souvent due à une copie automatique ou une mauvaise édition.
Prestashop : Éviter les modifications directes depuis le back-office en production
Modifier les traductions dans le back-office peut parfois produire des JSON invalides, surtout si plusieurs administrateurs modifient les contenus en même temps.
Privilégie la modification via un éditeur externe, puis l’import propre du fichier traduit. Cela limite les risques de corruption JSON et assure une cohérence dans l’ensemble des fichiers de traduction Prestashop.