CSV en JSON

Le CSV est ce que vous obtenez des feuilles de calcul et des exports de bases de données ; le JSON est ce que les API, les interfaces JavaScript et les fichiers de configuration modernes veulent. Ce convertisseur prend un CSV avec une ligne d’en-tête et produit un tableau d’objets JSON où chaque en-tête devient une clé et chaque ligne de données devient un objet. La sortie est formatée avec des caractères Unicode non échappés et des barres obliques, vous pouvez donc le coller directement dans une requête Postman ou un fichier JS.

Comment le CSV devient JSON

  1. 1

    Collez le CSV

    Il doit contenir au moins une ligne d'en-tête et une ligne de données ; l'outil renvoie une erreur sinon.

  2. 2

    La ligne d'en-tête définit les clés

    La ligne 1 est analysée avec `str_getcsv` et les noms de colonnes, débarrassés des espaces, deviennent des clés JSON.

  3. 3

    Chaque ligne de données devient un objet

    Les valeurs sont alignées avec les en-têtes par position. Les cellules manquantes sont émises comme des chaînes vides.

  4. 4

    Copiez le JSON formaté

    Formaté avec JSON_PRETTY_PRINT, JSON_UNESCAPED_UNICODE et JSON_UNESCAPED_SLASHES pour une bonne lisibilité dans n'importe quel éditeur.

Comment la conversion gère les types et les cas particuliers

Le CSV est fondamentalement sans type : chaque cellule est une chaîne. Le JSON a de vrais types. Le convertisseur prend le parti de la sécurité et laisse chaque valeur comme une chaîne JSON, vous ne verrez jamais un nombre silencieusement transformé en texte, ou un ID avec un zéro devant perdre ses zéros initiaux.

Exemple

CSV d’entrée :

name,age,email
Alice,30,alice@example.com
Bob,25,bob@example.com

JSON de sortie :

[
  { "name": "Alice", "age": "30", "email": "alice@example.com" },
  { "name": "Bob",   "age": "25", "email": "bob@example.com"   }
]

Notez que age est une chaîne, pas un nombre. Si vous avez besoin de types numériques, soit post-traitez avec Number(row.age) en JavaScript, soit utilisez le convertisseur CSV en JSON qui a plus d’options pour le typage.

Cas particuliers

Situation Comportement
Ligne de données vide Ignorée silencieusement, pas d’objet vide dans la sortie.
Ligne plus courte que l’en-tête Champs manquants émis comme des chaînes vides.
Ligne plus longue que l’en-tête Les cellules supplémentaires sont supprimées.
Noms d’en-tête en double Les clés ultérieures remplacent les précédentes dans l’objet résultant.
En-tête avec des espaces autour Élagué avant d’être utilisé comme clé.

Quand choisir l’autre outil CSV en JSON

C’est le convertisseur simple, des valeurs par défaut sensées, pas de commutateurs. Utilisez le convertisseur CSV en JSON lorsque vous devez choisir un délimiteur autre que la virgule, désactiver la ligne d’en-tête, ou basculer entre une sortie compacte et formatée.

Questions fréquentes

Pas avec ce convertisseur simple. Chaque valeur est émise comme une chaîne JSON, ce qui préserve les ID comme 00123 et les décimales comme 1.50 exactement comme elles apparaissent. Post-traitez avec Number() ou parseFloat() dans votre consommateur, ou utilisez l’autre convertisseur CSV en JSON pour des options supplémentaires.

Cet outil en nécessite une, il utilise les noms d’en-tête comme clés JSON. Si votre fichier n’a pas d’en-tête, ajoutez une ligne comme col1,col2,col3 en haut, ou passez au convertisseur CSV en JSON qui a un commutateur pour désactiver les en-têtes.

Les caractères Unicode ne sont pas échappés (accents, CJK, emoji apparaissent tous littéralement dans la sortie). Les barres obliques ne sont pas échappées non plus, donc les URL ont l’air naturelles. Les guillemets doubles à l’intérieur des valeurs sont correctement échappés en \".

Oui. Le CSV est envoyé à notre serveur afin de générer le JSON. Il n’est pas stocké et il n’est pas ajouté au lien de la page.

Outils similaires