Le JSONL est là où atterrissent les journaux de conversation, les jeux d'évaluation, les données d'entraînement et les travaux par lot, et il échoue de façons que le JSON ordinaire ignore. Une mauvaise ligne au milieu de cinquante mille bonnes ; une ligne vide finale ; un fichier qui est en réalité un tableau mis en forme avec une virgule en fin de ligne. « JSON invalide » à propos d'un fichier de quarante mégaoctets n'aide personne : ici tout est signalé ligne par ligne, avec le numéro qu'affiche un éditeur. Les lignes vides sont sautées plutôt que comptées comme erreurs, et le cas du tableau déguisé en JSONL est détecté et proposé en conversion d'un clic.
Fonctionnalités
Chaque échec signalé à son numéro de ligne
Lignes vides sautées sans décaler la numérotation
Détecte un tableau mis en forme collé comme du JSONL, et le convertit
Toutes les clés du jeu, avec le nombre d’enregistrements les portant
Filtre par chemin pointé, ou sur tout l’enregistrement
Parcourez les enregistrements un par un, mis en forme
Convertit vers un tableau JSON et inversement
Déposez un fichier, ou collez-le
Comment utiliser Visionneuse et validateur JSONL
Déposez un fichier .jsonl ou collez-le
Vérifiez les compteurs de valides et d’invalides
Filtrez sur les enregistrements qui vous intéressent
Parcourez-les, ou exportez en tableau
Exemple
Entrée
line 2: not json
Sortie
Unexpected token o in JSON at position 1
Les 49 999 autres lignes restent analysées et exploitables.
Erreurs courantes et dépannage
Toutes les lignes échouent. — C’est probablement un tableau JSON mis en forme et non du JSONL. Ce cas est détecté et une conversion est proposée.
Les numéros de ligne ne correspondent pas à mon éditeur. — Ils devraient — les lignes vides sont sautées à l’analyse mais ne décalent pas la numérotation.
Mon chemin de filtre ne trouve rien. — Les chemins sont pointés, avec des segments numériques pour les index : messages.0.content. La liste de clés au-dessus du filtre montre ce qui existe réellement.
Un énorme fichier est lent. — Tout est analysé dans le navigateur : un très gros fichier est limité par la mémoire. Le découper est plus rapide qu’attendre.
Foire aux questions
Qu’est-ce que le JSONL ?
Une valeur JSON complète par ligne, sans virgules entre elles et sans crochets englobants. Cela se diffuse et s’ajoute bien, d’où son usage pour les journaux et jeux de données : une seule ligne malformée n’invalide pas le fichier.
Pourquoi mon fichier ressemble-t-il à du JSONL et échoue ?
Presque toujours parce que c’est un tableau mis en forme : un objet réparti sur plusieurs lignes, avec une virgule à la fin de chacune. C’est du JSON valide et pas du JSONL valide, détecté ici avec une conversion proposée.
Comment fonctionne le filtre par chemin ?
Des segments séparés par des points, avec des nombres pour les index de tableau. La valeur à ce chemin est cherchée comme sous-chaîne insensible à la casse.
Les lignes vides finales posent-elles problème ?
Non. Un fichier se terminant par un retour à la ligne est normal et correct ; les lignes vides sont comptées à part et jamais signalées comme erreurs.
Mon fichier est-il envoyé ?
Non. Tout est analysé dans le navigateur, ce qui compte vu le contenu habituel d’un JSONL : journaux de conversation et données d’entraînement comptent parmi les fichiers les plus sensibles d’une équipe.