Réparer le JSON produit par un LLM
Les réponses d’IA ressemblent souvent à du JSON, mais elles contiennent des markdown fences, des commentaires, des littéraux Python ou de la syntaxe d’objet JavaScript.
Problèmes typiques du JSON produit par un LLM
Les fences markdown, les commentaires, les guillemets simples, les clés sans guillemets, les virgules finales et les valeurs Python True, False ou None peuvent tous faire échouer le parsing JSON strict d’une réponse pourtant utile.
Flux de réparation
Collez la réponse dans JSON Fix, lancez Repair & Format, puis Validate pour confirmer que la sortie est du JSON strict avant de l’utiliser dans du code ou une requête API.
Note de confidentialité
La réparation se déroule localement dans le navigateur, ce qui est utile pour déboguer des prompts contenant des exemples internes ou des payloads d’API privées.
Outils et recettes
Pour un nettoyage navigateur, collez la sortie du LLM dans JSON Fix et cliquez Repair & Format — il enlève en une passe les fences markdown (```json ... ```), les virgules finales et les littéraux Python (True/False/None). En Node, le paquet npm jsonrepair fait la même chose en programmatique, sans dépendances.
Cadrer le prompt pour réduire la réparation
Contraignez la sortie : « Réponds par un seul objet JSON et rien d’autre, pas de fence markdown, pas de commentaire ». Si le modèle le supporte, utilisez le mode JSON ou response_format json_object — cela élimine fences et prose par construction. Un schéma dans le prompt (ou via function calling) réduit encore les clés inventées.
JSON en streaming depuis un LLM
Pendant que les tokens arrivent, le JSON est invalide par définition — il n’y a pas encore d’accolade fermante. Soit on bufferise jusqu’à la fin de la réponse pour faire un seul parse, soit on utilise un parser tolérant au streaming (jsonrepair, partial-json) qui renvoie le meilleur préfixe valide pour pouvoir afficher au fil de l’eau.
Quand échouer bruyamment au lieu de réparer
Si le JSON déclenche une transaction financière, un changement de permissions ou une action destructrice, ne réparez pas en silence — rejetez la réponse et réessayez, ou faites remonter la sortie brute pour relecture. La réparation est appropriée pour l’affichage, le débogage et la récupération ; jamais pour des entrées qui modifient l’état sans relecture humaine.
Guides de réparation JSON
Pôles thématiques
- JSON Parse Errors: Read the Message, Jump to the Fix
- Fix Invalid JSON: From 'What's Wrong' to a Clean File
- JSON Formatter, Validator, Viewer: Pick the Right Tool
- Repair LLM JSON Output: Handling Almost-JSON from AI
- Privacy: JSON Tools That Don't Leave Your Browser
- JSON Interop: YAML, CSV, XML, JWT, Schema
Guides spécifiques
- Comment décoder des chaînes Base64 (et des payloads JWT)
- Encodage URL : encodez les paramètres de requête et les chemins
- Convertir YAML en JSON (et éviter les erreurs d’indentation)
- Convertir JSON en CSV : aplatir un tableau d’objets
- Convertir JSON en XML : racine, attributs et tableaux
- Échapper du JSON comme littéral de chaîne (et décoder du JSON doublement encodé)
- Corriger les virgules finales en JSON
- Corriger les guillemets simples en JSON
- Corriger les clés sans guillemets en JSON
- Corriger l’erreur de parse JSON : Expected Property Name
- JSON vs littéral d’objet JavaScript
- Validez le JSON avant les requêtes API
- Formateur JSON vs JSON Repair
- Corriger les erreurs JSON Unexpected Token
- Convertisseur JSON vers objet JavaScript