Comment convertir des lignes collées en JSON

Collez des cellules copiées d’un tableur, ou n’importe quel texte délimité, puis cliquez sur Convertir en JSON : la première ligne devient les clés, chaque ligne suivante devient un objet, et le résultat est écrit par le générateur JSON du navigateur — il s’analyse donc toujours.

Le lecteur respecte les guillemets des tableurs : un séparateur, un saut de ligne ou un guillemet à l’intérieur d’une cellule revient exactement tel qu’il a été saisi, y compris dans les cellules qu’une découpe simple casserait.

  1. Copiez les cellules du tableur et collez-les dans le champ. La tabulation est supposée : si le texte utilise des virgules, des points-virgules ou autre chose, saisissez ce caractère dans le champ de séparation (taper \t en deux caractères signifie aussi tabulation).
  2. Choisissez Convertir les lignes en objets lorsque la première ligne contient les noms de colonnes, ou Convertir les lignes en tableaux lorsque chaque ligne est une donnée, y compris la première.
  3. Cliquez sur Convertir en JSON. Copier le résultat place le même texte dans le presse-papiers et Effacer vide les deux champs.
  4. L’exemple charge une petite table de commandes et la convertit aussitôt, pour voir la forme du résultat avant de coller vos propres lignes.

Ce que le lecteur fait de chaque cellule

Objets, tableaux et noms de colonnes

En mode objet, la première ligne est l’en-tête. Une cellule d’en-tête vide s’appelle column1, column2, etc., un nom répété reçoit _2 puis _3, et une ligne qui contient plus de cellules que l’en-tête gagne des clés supplémentaires column4, column5.

Les lignes plus courtes conservent toutes les clés et remplissent les manquantes par des chaînes vides : tous les objets d’une même conversion ont donc la même forme. Les lignes entièrement vides sont ignorées au lieu de produire des objets vides.

Guillemets, séparateurs et sauts de ligne

Une cellule qui commence par un guillemet est lue comme du texte entre guillemets : les séparateurs et les sauts de ligne qu’elle contient sont des caractères ordinaires, et un guillemet doublé ("") vaut un guillemet. Le reste est découpé sur le séparateur saisi. Si un guillemet n’est jamais fermé, le panneau le signale au lieu de deviner.

Le champ de séparation accepte du texte littéral — un point, une barre verticale ou un signe plus sont des caractères, pas des motifs — et les séparateurs de plusieurs caractères fonctionnent aussi.

Ce qu’est le résultat, et ce qu’il n’est pas

Le JSON est écrit par le navigateur, indenté de deux espaces, donc il s’analyse partout. Les cellules restent du texte : 39.00 revient en "39.00" et 007 reste "007", et aucune valeur ne devient un nombre ou un booléen à votre insu.

Une marque d’ordre des octets en tête est supprimée, et les fins de ligne \n, \r\n et \r fonctionnent toutes — ce qui arrive lorsque les mêmes cellules sont copiées sur des systèmes différents.

Taille, confidentialité et limites

La conversion se fait dans cet onglet : rien n’est envoyé et l’outil ne fait aucune requête. Dans Chrome, 500 lignes prennent environ 0,2 s, 2 000 lignes environ 0,6 s et 5 000 lignes (un résultat de 486 Ko) environ 2 s, en grande partie pour la coloration syntaxique plutôt que pour l’analyse.

Les fichiers XLS et XLSX ne sont pas lus : seul le texte collé l’est. L’orthographe est conservée telle quelle, vérifiez donc la ligne d’en-tête avant d’en faire une charge utile.

Outils récents :