Réparer la sortie JSON d'un LLM : gérer le presque-JSON de l'IA

Les LLM renvoient souvent du JSON entouré de délimiteurs ```json, avec des guillemets simples, des littéraux Python ou des clés sans guillemets. Réparez la syntaxe, validez de façon stricte, puis dérivez des types TypeScript de la sortie nettoyée.

Quand vous arrivez ici

Un LLM a renvoyé du JSON que JSON.parse rejette. Les coupables les plus fréquents sont les délimiteurs de code markdown entourant le document, les guillemets simples, les clés sans guillemets, les littéraux Python comme True/None et les objets sérialisés. Réparez la syntaxe, puis validez de façon stricte avant de remettre le résultat à votre application.

Le workflow de réparation pour la sortie d'un LLM

Lancez d'abord la réparation — elle tolère les délimiteurs, les guillemets simples, les clés sans guillemets, les littéraux Python et les virgules finales. Validez ensuite pour confirmer que le texte nettoyé fait l'aller-retour. Utilisez l'arbre nettoyé pour dériver des types ou alimenter votre application.

Une fois que ça analyse, dérivez des types

Après que la sortie du LLM est validée, dérivez des interfaces TypeScript ou un JSON Schema pour que le prochain appel ait un contrat à valider. C'est la différence entre réparer une fois et réparer pour toujours.

Ce qui arrive dans les standards

Deux prochaines propositions JavaScript comptent pour les workflows JSON des LLM : l'accès à la source de JSON.parse (lire les erreurs avec le texte original à côté de la valeur) et JSON.parseImmutable. Elles réduisent la quantité de code de réparation sur mesure présent dans chaque application.

Parcours recommandé

Collez la sortie du LLM, nettoyez-la, typez-la.

    1. Outil : / — collez la sortie de l'IA, cliquez sur « Réparer et formater ».
    1. Guide : /guides/repair-llm-json-output — gère les délimiteurs, les guillemets, les littéraux Python.
    1. Blog : /blog/repair-broken-json-in-javascript — le même workflow en code.
    1. Référence : /news/json-parse-source-access-baseline-2025 — quel support standard arrive.