Blog
Français

Convertir CSV en JSON — Convertisseur en ligne

Convertir un CSV en JSON (séparateur détecté, en-têtes, types, imbrication)

Traitement dans le navigateur · aucun envoi de fichier

Présentation

Le CSV est le moyen habituel de sortir un tableau d’un tableur ou d’une base de données, alors que le code web attend surtout du JSON. Cet outil convertit le CSV collé en JSON. Par défaut, vous obtenez un tableau d’objets dont les clés viennent de la ligne d’en-tête ; sans en-tête, un tableau de tableaux.

Mode d’emploi

  1. Collez le CSV complet dans le champ de saisie, ou ouvrez un fichier avec Ouvrir un fichier CSV (l’encodage est détecté automatiquement, voir la FAQ).
  2. Laissez le séparateur sur Détection automatique ou choisissez-en un. Désactivez l’option d’en-tête si la première ligne contient des données.
  3. Activez la conversion des types si vous voulez les nombres et true/false sous forme de types JSON.
  4. Activez la reconstruction de l’imbrication pour transformer une colonne comme address.city en {"address":{"city":...}}. C’est pratique pour un CSV produit par un convertisseur JSON en CSV.
  5. Choisissez une indentation et copiez le résultat.

Fonctionnement

  • L’analyse suit la RFC 4180. Les séparateurs et sauts de ligne placés entre guillemets doubles font partie de la valeur, et deux guillemets doubles se lisent comme un seul. Les lignes entièrement vides sont ignorées.

  • La conversion des types ne s’applique qu’à true et false (en minuscules) et à la notation décimale simple comme -12, 3.5 ou 1e3. 007, +1, 1e999 et les entiers au-delà de 9007199254740991 restent des chaînes. Une cellule vide donne une chaîne vide.

  • Les noms d’en-tête en double deviennent name, name_2, name_3 pour qu’aucune colonne ne disparaisse.

  • La reconstruction de l’imbrication regroupe les en-têtes pointés en objets et développe en tableaux et objets les cellules qui commencent par [ ou { et sont du JSON valide. Si une clé pointée entre en conflit avec une valeur existante, elle reste une clé littérale.

  • Un BOM UTF-8 au début de la saisie est supprimé.

  • Limites de l’aller-retour : les cellules vides deviennent des chaînes vides, pas null, et la conversion des types transforme les chaînes numériques comme "123" en nombre 123 ; un aller-retour JSON → CSV → JSON peut donc ne pas reproduire exactement l’original.

Exemples

Saisie :

name,age,address.city
Élodie,30,Paris

Résultat avec la conversion des types et la reconstruction de l’imbrication activées :

[{"name": "Élodie", "age": 30, "address": {"city": "Paris"}}]

Questions fréquentes

Dois-je choisir le séparateur ?

Par défaut, il est détecté automatiquement parmi la virgule, le point-virgule, la tabulation et la barre verticale, d’après l’allure des premières lignes. Si une valeur contient beaucoup d’un autre séparateur et que la détection se trompe, choisissez-le vous-même. Le séparateur détecté s’affiche au-dessus du résultat.

Pourquoi mes nombres sont-ils des chaînes ?

Par défaut, toutes les valeurs restent des chaînes. Activez Convertir les nombres et true/false pour changer cela. Même dans ce cas, les valeurs comme 007 avec un zéro initial, +1 et les entiers au-delà de 2^53 restent des chaînes afin de ne perdre aucune information.

Un CSV enregistré depuis Excel garde-t-il ses accents ?

Ouvrez le fichier avec **Ouvrir un fichier CSV**. Un indicateur d’ordre des octets (BOM) UTF-8 ou UTF-16 détermine l’encodage ; sinon, le fichier est lu en UTF-8, puis, en cas d’échec, en EUC-KR (CP949, l’encodage par défaut d’Excel en coréen), et s’il n’est pas non plus valide en EUC-KR, en Windows-1252 (Excel d’Europe occidentale). La page indique l’encodage utilisé. Un texte déjà illisible après un copier-coller depuis un autre programme ne peut pas être réparé en le collant : ouvrez plutôt le fichier.

Que deviennent les lignes qui n’ont pas le bon nombre de champs ?

Elles sont quand même converties, et l’outil liste leurs numéros sous Lignes à vérifier. Les cellules manquantes omettent leurs clés dans le résultat et les cellules en trop sont ignorées.

Il vous manque un outil ?