Validateur et convertisseur JSON Lines / NDJSON

Collez une valeur JSON par ligne pour vérifier les enregistrements et leurs champs. La conversion en tableau JSON ou en JSON Lines normalisé conserve uniquement les enregistrements valides ; les lignes vides sont ignorées et les erreurs signalées séparément.

Fonctionne localement dans votre navigateur
Tout dans cet outil est traité dans ce navigateur. KivTools ne télécharge pas, ne stocke pas et n’appelle aucune API tierce avec votre entrée.
Entrée lignes JSONUtilisez une valeur JSON complète par ligne non vide. Aucun fichier, événement ou enregistrement n'est téléchargé.

Comment vérifier du JSON Lines

Collez du JSON délimité par des lignes puis lancez Valider et convertir : chaque ligne non vide est analysée séparément, donc une ligne cassée ne masque pas les autres. Le rapport donne le numéro de ligne, la colonne où l’analyse s’est arrêtée, et exclut cette ligne du résultat converti.

Les lignes vides, un éventuel BOM en tête, les fins de ligne CRLF et les espaces autour d’une ligne sont acceptés. La conversion se fait dans cet onglet et la page n’envoie aucune requête pendant ce temps.

  1. Collez les enregistrements dans la zone de texte, ou cliquez sur Charger un exemple pour voir la forme attendue.
  2. Choisissez le format de sortie : Tableau JSON formaté, ou JSON Lines normalisé pour une valeur exactement par ligne.
  3. Cliquez sur Valider et convertir puis lisez les mesures : enregistrements, valides, lignes invalides et champs de premier niveau.
  4. Récupérez le résultat avec Copier ou Télécharger ; les deux contiennent la sortie complète, même lorsque l’aperçu est tronqué.

Ce que montre le rapport

Lire le rapport de validation

Une ligne impossible à analyser s’affiche en rouge avec son numéro de ligne et, lorsque l’analyseur JSON du navigateur indique une position, la colonne concernée dans cette ligne. Les enregistrements invalides n’entrent jamais dans la sortie : le tableau converti peut donc contenir moins d’enregistrements que l’entrée n’avait de lignes.

Chaque ligne valide est comptée et les clés de premier niveau des objets sont cumulées dans le panneau des champs. Une ligne qui donne un tableau, un nombre, une chaîne, un booléen ou null est convertie telle quelle et listée comme information, faute de champs d’objet à compter. En cas de clés dupliquées, la règle de JSON.parse s’applique : la dernière valeur gagne.

Les nombres que JSON ne peut pas représenter exactement

JSON n’a pas de type entier : 12345678901234567890 arrive donc comme le double le plus proche et ressort en 12345678901234567000. Les lignes contenant un entier supérieur à 2^53-1 sont signalées comme arrondies plutôt que validées comme exactes.

Un nombre hors de la plage représentable par un double, comme 1e999, est signalé comme une erreur : JSON.parse le convertit en Infinity et la valeur convertie devient null.

Entrées volumineuses et aperçu de 1 Mo

L’aperçu s’arrête après le premier mégaoctet et le signale, car écrire une chaîne de plusieurs mégaoctets dans la zone de texte fige la page. Copier et Télécharger contiennent toujours le résultat complet : avec 100 000 enregistrements en entrée, le texte copié a été réanalysé en 100 000 enregistrements.

Mesuré dans Chrome sur cette page : 1 000 lignes en 10 ms environ, 10 000 lignes (0,4 Mo) en 50 à 90 ms et 50 000 lignes (2 Mo) en 0,3 à 0,6 s. La mémoire du navigateur reste la limite pour les fichiers très volumineux.

Outils récents :