Transformez une conversation ChatGPT en JSON.
Une conversation a déjà une structure : des rôles, un ordre, des horodatages, des modèles. La lire comme de la prose jette tout cela. Extry la réécrit en JSON, un enregistrement par message.
- retry-backoff-design.json31.7 KBstructuré
Pourquoi JSON
Pour le script, pas pour la lecture
On choisit JSON quand le fichier est ouvert par autre chose qu’une personne. Chaque message garde son rôle, sa place, le modèle qui l’a produit et l’instant de sa création : un script peut donc filtrer, compter et trier sans deviner dans le texte.
Pour lire, c’est le mauvais choix. Si la conversation doit revenir devant quelqu’un, Markdown ou Word la traiteront mieux.
À quoi ressemble le fichier
Un objet, puis les messages dans l’ordre
La tête du fichier décrit la conversation : titre, lien source, date de création, date d’export et nombre de messages. Viennent ensuite les messages, dans l’ordre, un objet chacun.
Le texte du message reste du Markdown, donc les blocs de code passent intacts. Les citations sont reprises dans un tableau de sources, pour qu’un script suive les liens sans avoir à les extraire du texte.
{
"title": "Retry backoff design",
"source": "https://chatgpt.com/c/…",
"created_at": "2026-03-11T09:14:22Z",
"exported_at": "2026-03-12T18:02:41Z",
"message_count": 2,
"messages": [
{
"index": 1,
"role": "user",
"author": "user",
"model": null,
"created_at": "2026-03-11T09:14:22Z",
"text": "Why is the retry loop",
"sources": []
}
]
}Ce que vous pouvez en faire
Ce que la prose ne permet pas
La forme est fixe, donc l’essentiel tient en quelques lignes plutôt qu’en un analyseur de format.
Filtrer et compter
Seulement les réponses de l’assistant, seulement celles postérieures à une date, seulement celles d’un modèle donné.
Alimenter un pipeline
Chargez-le dans Jupyter, dans un calcul d’embeddings ou dans un jeu d’évaluation, sans nettoyage préalable.
Comparer deux exports
La même conversation à deux moments : comparez les enregistrements au lieu de relire les deux versions.
Comment ça marche
Trois étapes, un fichier
- Ouvrez la conversation dans ChatGPT et cliquez sur le bouton Extry dans la page.
- Choisissez JSON dans le panneau.
- Appuyez sur Télécharger et sortez le .json de l’archive.
Sans compte, sans téléversement. Le fichier est construit dans la page, donc la conversation ne part nulle part pour être convertie.
Traitement
Où se passe chaque étape
| Quoi | Où cela se passe |
|---|---|
| Export vers tous les formats | Dans votre navigateur |
| Pièces jointes et images | Dans votre navigateur |
| Contenu des conversations | N’est envoyé nulle part |
| Statistiques d’usage | Ne sont pas collectées |
| PDF typographique (plus tard, en option) | Sur un serveur, le fichier est supprimé aussitôt |
Questions
Sur l’export en JSON
Qu’y a-t-il dans chaque message ?
L’index, l’identifiant du message, le rôle, l’auteur, le modèle qui l’a produit ou null, l’heure de création en horodatage ISO, le texte, et les sources citées.
Le texte est-il brut ou en Markdown ?
En Markdown. Le code reste dans des blocs avec leur langage, vous pouvez donc le rendre ou le retirer selon vos besoins.
Puis-je obtenir toutes les conversations en JSON d’un coup ?
Oui. L’export groupé écrit le même fichier pour chaque conversation, chacune dans son propre dossier à l’intérieur d’une seule archive.
La structure est-elle assez stable pour écrire un script dessus ?
Les clés sont fixes et c’est l’extension elle-même qui les écrit, au lieu de les relever sur la page : la forme ne bouge donc pas quand l’interface change. Les valeurs, elles, suivent ce que ChatGPT rapporte.
Plus
D’autres formes de la même conversation
La même conversation, écrite autrement : CSV, Markdown, l’export groupé, la page d’accueil.