Aller au contenu principal

Tableau Markdown vers JSON

Ce convertit transforme une table Markdown au format GitHub en un tableau d’enregistrements JSON dans votre navigateur. La ligne d’en-tête fournit les clés, les cellules sont rognées et les types sont inférés : nombres, booléens et null, avec les cellules vides mappées à null. Les barres obliques échappées sont décodées, la ligne de séparateur est obligatoire et rien n’est envoyé.

100 % local

Tableau Markdown vers JSON en clair

Les tables Markdown sont la façon dont les README, la documentation et les systèmes de suivi de problèmes présentent des enregistrements ; JSON est la façon dont les scripts les consomment. Un tableau est déjà des lignes et des colonnes, donc la conversion se résume principalement à nommer les colonnes et à décider ce que chaque cellule signifie. Ce convertit analyse les tables Markdown au format GitHub en un tableau d’enregistrements JSON — un objet par ligne de corps, les clés étant prises dans l’en-tête.

La partie qui nécessite de la rigueur est le typage. Une cellule Markdown est juste du texte, mais JSON a des nombres, des booléens et null, et un tableau rempli de chaînes « 42 » est rarement ce que les consommateurs en aval veulent vraiment. Ce convertit infère : les chiffres deviennent des nombres, true et false deviennent des booléens, les cellules vides deviennent null. L’inférence est parfois surprenante, c’est pourquoi les règles — y compris les codes postaux avec un zéro initial — sont explicitées ci-dessous plutôt que laissées comme un piège.

Tout s’exécute dans cet onglet de navigateur : votre tableau est analysé par un moteur intégré à la page, le JSON est sérialisé à côté, et aucune requête n’est effectuée — ouvrez DevTools et observez le panneau Réseau rester vide pendant que vous convertissez.

Les tables vont souvent dans l’autre sens — quand une exportation JSON doit être intégrée à une documentation, le Convertisseur de table JSON en Markdown émet des tables au format GitHub avec l’échappement des barres appliqué pour vous.

Si la partie JSON de l’échange est la moins familière, le guide du site guide simple sur le JSON couvre les objets, les tableaux et les types depuis les bases.

Comment la conversion fonctionne réellement

Le Markdown au format GitHub définit une table comme ayant trois parties : une ligne d’en-tête de noms de colonnes, une ligne de délimiteurs de traits d’union, et zéro ou plusieurs lignes de corps. La ligne de délimiteurs n’est pas une décoration — dans GFM, c’est ce qui rend la ligne précédente une table. Le convertit parcourt les parties dans l’ordre :

  • Normaliser : les barres obliques de début et de fin sont optionnelles dans GFM et tolérées ici ; les espaces autour de chaque cellule sont rognés avant toute autre chose.
  • Diviser : les cellules sont divisées sur des barres obliques non échappées ; une barre oblique avec antislash (\|) devient un caractère | littéral à l’intérieur de la valeur.
  • Mapper : la ligne d’en-tête fournit les clés d’objet dans l’ordre des colonnes, et chaque ligne de corps devient un objet avec ces clés.
  • Convertir : chaque cellule rognée est inférée comme un nombre, un booléen ou null ; le reste reste une chaîne — y compris toute cellule entourée de guillemets doubles, qui opte pour le maintien de la chaîne.

L’inférence de type, expliquée simplement

Une cellule de tableau n’a pas de système de type, donc le convertit doit en choisir un, et la franchise impose d’expliquer où cela posera problème. Les règles s’appliquent au texte de la cellule rogné, dans cet ordre :

Les deux dernières lignes sont les célèbres. Un code postal, numéro de téléphone ou code produit saisi tel quel devient un nombre, et un zéro initial ne survit pas à la conversion. Pour conserver une valeur littérale, entourez la cellule de guillemets doubles dans le Markdown et le convertit la gardera comme chaîne. Le compromis est volontaire : tout-en-chaînes épargnerait le code postal mais casserait en silence chaque consommateur attendant de vrais nombres.

Contenu de la celluleValeur JSON
42le nombre 42
-3.5le nombre -3.5
true / falseles booléens true et false
nullnull
(cellule vide)null
"02134"la chaîne « 02134 » — les guillemets optent pour le maintien
02134le nombre 2134 — le zéro initial est parti

À quoi ressemble la sortie

L’exemple ci-dessous est la paire exacte que le bouton Charger un exemple produit : un tableau à quatre colonnes avec un nombre, un booléen et une cellule vide. La cellule Notes vide du deuxième enregistrement devient un null explicite plutôt qu’une chaîne vide, donc la distinction faite par l’auteur du tableau est conservée dans le JSON. La sortie est mise en forme avec deux espaces pour garder les diffs lisibles.

Cas limites que ce convertit refuse plutôt que de maltraiter

Deux entrées malformées génèrent une erreur nommée plutôt qu’une sortie devinée, car chacune produirait sinon des enregistrements mensongers :

  • Pas de ligne de séparateur — dans GFM, une ligne de barres sans ligne de traits d’union en dessous est un paragraphe, pas une table. Sans séparateur, il n’y a rien de fiable à utiliser comme en-tête, donc le convertit refuse et nomme la ligne où il a cherché.
  • Une ligne plus large que l’en-tête — les cellules supplémentaires n’ont pas de clé sous laquelle vivre, et GFM lui-même ignore silencieusement l’excédent. Supprimer des données silencieusement est pire qu’une erreur, donc le convertit signale le numéro de la ligne problématique. Les lignes plus courtes sont complétées avec null, ce qui garde chaque enregistrement de la même forme.

Questions fréquentes

La conversion d’une table Markdown en JSON envoie-t-elle mes données quelque part ?

Non. L’analyse et la sérialisation se font toutes les deux dans cet onglet de navigateur, en JavaScript qui a chargé avec la page. Il n’y a pas d’endpoint d’envoi dans le code de la page, et la politique de sécurité du contenu (Content-Security-Policy) du site bloque les connexions sortantes, donc la page ne peut pas contacter le serveur même par accident. Vérifiez-le en quelques secondes : ouvrez DevTools, observez le panneau Réseau, convertissez — aucune requête n’apparaît.

Pourquoi la ligne de séparateurs de traits d’union est-elle obligatoire ?

Dans le Markdown au format GitHub, la ligne de délimiteurs (| --- | --- |) est ce qui transforme deux lignes de barres en un tableau ; sans elle, le texte est juste un paragraphe contenant des barres. Comme l’en-tête ci-dessus fournit les clés JSON, un séparateur manquant laisse rien de fiable à utiliser comme schéma, donc le convertit rejette l’entrée et nomme la ligne. Les deux-points d’alignement comme :---: sont tolérés.

Comment mettre un caractère barre oblique littéral à l’intérieur d’une cellule ?

Échappez-le avec un antislash : \| à l’intérieur d’une cellule devient un simple | dans la chaîne JSON. C’est une règle GFM, pas une préférence du convertit — une barre non échappée serait lue comme un séparateur de colonnes et décalerait chaque cellule suivante. Le convertit inverse applique le même échappement lors de l’écriture des tables, donc une valeur avec une barre survit un aller-retour sans modification.

Que devient-il des valeurs avec des zéros initiaux, comme un code postal ?

Un 02134 nu est inféré comme le nombre 2134, car les nombres JSON ne peuvent pas représenter un zéro initial. Le convertit ne fait pas d’exception silencieuse pour les codes postaux, numéros de téléphone ou codes SKU — il énonce la règle à la place. Pour conserver une valeur textuelle, entourez la cellule de guillemets doubles dans le Markdown (« 02134 ») ; les guillemets la marquent comme une chaîne délibérée et sont retirés de la valeur.

Que se passe-t-il si les lignes ont un nombre de cellules différent ?

Une ligne plus courte que l’en-tête est complétée avec null pour chaque colonne manquante, donc chaque enregistrement garde la même forme. Une ligne plus longue que l’en-tête est rejetée avec le numéro de la ligne, car les cellules supplémentaires n’ont pas de clé et les ignorer corromprait silencieusement l’enregistrement. Corrigez la ligne, pas le schéma.

Puis-je reconvertir du JSON en une table Markdown ?

Oui — la direction est entièrement prise en charge sur ce site. Le convertit de table JSON en Markdown prend un tableau d’enregistrements, réunit leurs clés en une en-tête et émet une table GFM avec l’échappement des barres appliqué si nécessaire. Ensemble, les deux pages rendent les allers-retours de documentation sans perte pour toutes les formes qu’un tableau peut exprimer.