Convertisseur CSV en JSON
Transformez un tableau CSV en JSON sans deviner quelles cellules sont des nombres, des booléens ou null. Collez du texte ou choisissez un fichier UTF-8 local, sélectionnez des objets ou des tableaux, puis copiez ou téléchargez le résultat vérifié.
Convertir un tableau sans deviner les types de données
- Choisissez CSV collé ou Fichier local. Les fichiers doivent être en UTF-8, porter l’extension .csv, .tsv ou .txt et ne pas dépasser 5 MiB. Sélectionnez explicitement le séparateur : la virgule est proposée par défaut, mais le point-virgule, la tabulation et la barre verticale sont aussi disponibles. Un nom de fichier TSV ne sélectionne pas automatiquement la tabulation.
- Choisissez Objets pour utiliser le premier enregistrement comme noms d’en-tête exacts, ou Tableaux pour conserver tous les enregistrements comme données. Objets exige des en-têtes uniques et non vides et des lignes de même largeur. Tableaux accepte des largeurs variables. Utiliser l’exemple remplit une table d’identifiant, nom et état et attend la sélection de Convertir.
- Sélectionnez Convertir et consultez le nombre d’enregistrements de données, les informations de largeur et la taille réelle de la sortie UTF-8. Les détails de conversion relient les champs analysés à la représentation JSON choisie. Copier le JSON et Télécharger le JSON utilisent le résultat complet même si l’aperçu est incomplet. Effacer supprime les deux sources et rétablit les valeurs par défaut.
Comprendre les chaînes, les en-têtes et les champs exacts
Chaque cellule reste une chaîne, y compris 00042, 9007199254740993, true, false, null, les champs vides et le texte ressemblant à une formule. Aucune conversion de précision numérique, substitution par null, évaluation de formule ou déduction de structure imbriquée depuis un en-tête n’est effectuée.
Un séparateur entre guillemets doubles reste dans un seul champ. Deux guillemets doubles consécutifs deviennent un guillemet, et les CRLF, LF ou CR intégrés restent dans la chaîne analysée. Les espaces sont des données. Un guillemet isolé ou non fermé, ou du texte après un guillemet fermant, est rejeté plutôt que corrigé. Une fin d’enregistrement finale ne crée pas de ligne fantôme ; les enregistrements vides supplémentaires sont conservés.
Les en-têtes d’objet conservent leur orthographe et leurs espaces exacts, sauf qu’un nom composé uniquement d’espaces supprimables par trim est rejeté. Les noms exactement répétés sont rejetés, mais A et a ou les noms accentués composés et décomposés restent distincts. Les noms comme __proto__, constructor et 2 sont des clés plates ordinaires. Les membres sont émis dans l’ordre des colonnes ; les récepteurs JSON peuvent énumérer les noms autrement.
La sortie utilise une indentation de deux espaces, des fins de ligne LF et un LF final ; elle est encodée en UTF-8 sans ajout de BOM. Une signature UTF-8 initiale de fichier ou, selon la politique de cet outil, un U+FEFF initial collé est consommé ; les U+FEFF supplémentaires restent du contenu. Les signatures UTF-16/32 et l’UTF-8 mal formé ne sont ni devinés ni réparés. Les échappements JSON préservent les caractères de contrôle intégrés au lieu de les supprimer.
Exemples des deux représentations
L’exemple fourni de trois enregistrements contient les en-têtes id, name et active, suivis de deux enregistrements de données. Objets produit deux objets et 150 octets UTF-8, en conservant 00042 et l’identifiant long sous forme de chaînes. La virgule entre guillemets dans A, B n’ajoute pas de quatrième colonne et true reste la chaîne true.
Tableaux appliqué au même exemple produit trois tableaux et 146 octets UTF-8. Le premier tableau contient id, name et active comme valeurs plutôt que comme clés. Une ligne courte ou un enregistrement vide est conservé avec son nombre réel de champs dans ce mode.
Une entrée valide contenant uniquement un en-tête produit un tableau JSON vide avec un LF final : trois octets et aucun objet de données. C’est un résultat réussi et exportable, contrairement à une source vide ou contenant uniquement une signature, sans enregistrement CSV. Un enregistrement de données vide sous un en-tête à une colonne devient une chaîne vide ; sous un en-tête plus large, il provoque une erreur de largeur.
Limites d’entrée, de sortie et d’aperçu
Les fichiers sont limités à 5242880 octets. Le texte décodé ou collé doit respecter les limites de 5000000 unités UTF-16, 50000 séquences physiques CRLF/LF/CR y compris dans les champs entre guillemets, 50000 enregistrements logiques en-tête compris, 256 colonnes par enregistrement et 2000000 cellules analysées. CRLF compte pour une fin de ligne physique. Ce sont des limites explicites de ressources, pas des nombres de caractères visibles.
Le JSON formaté complet ne doit pas dépasser 16777216 octets UTF-8. Une opération du worker dépassant 15000 millisecondes est interrompue sans téléchargement partiel. Des en-têtes longs répétés et des caractères de contrôle échappés peuvent faire dépasser la limite de sortie à un CSV pourtant admis. Ces limites ne garantissent ni la mémoire utilisée ni la vitesse sur chaque appareil.
L’aperçu JSON par défaut affiche au maximum 100000 caractères scalaires Unicode et indique clairement un aperçu incomplet. La copie et le téléchargement complets actuels conservent tous les champs acceptés. Si l’accès au presse-papiers est refusé, le texte complet actuel en lecture seule est proposé pour une copie manuelle, et non seulement le préfixe. Les aperçus de champs de la méthode peuvent aussi être abrégés sans modifier l’export.
Cette version ne propose ni entrée par URL, ni détection automatique du séparateur, ni inférence de type, ni commentaires, ni suppression de directives, ni réparation CSV, ni conversion d’anciens encodages. La RFC 4180 décrit un format CSV courant, pas tous les dialectes. Le UTF-16 mal formé est rejeté ; la normalisation effectuée par le navigateur ou le presse-papiers avant le collage ne peut pas être annulée.
Conversion locale et sortie actuelle
Cet outil n’ajoute ni envoi de document, ni compte, ni historique enregistré, ni journalisation, ni URL de partage contenant des données. Modifier, changer de source ou d’options, choisir un autre fichier, annuler ou effacer invalide l’ancien résultat. Les services existants du site restent distincts ; le traitement local ne les certifie pas et ne garantit pas un effacement sécurisé.
Questions sur la conversion CSV en JSON
Sources
- rfc-editor.orgRFC 4180La RFC 4180 décrit un format CSV courant ; cet outil définit ses propres règles d’analyse.
- rfc-editor.orgRFC 8259La RFC 8259 décrit les chaînes JSON et les considérations d’interopérabilité des noms de membres d’objets.
- tc39.esECMAScript JSON.stringifyECMAScript spécifie l’échappement des chaînes JSON.
- tc39.esECMAScript OrdinaryOwnPropertyKeysECMAScript décrit l’ordre des propriétés d’objet ; l’énumération en aval peut différer de l’ordre des colonnes CSV émises.
- encoding.spec.whatwg.orgEncoding StandardLa norme Encoding décrit le décodage UTF-8 strict et les signatures.
Outils associés
Convertisseur JSON en CSV
Convertissez des enregistrements JSON plats en texte délimité localement, en conservant l’ordre des colonnes et l’écriture des nombres.
Ouvrir l’outil — Convertisseur JSON en CSVConvertisseur de séparateur CSV
Changez le séparateur CSV, vérifiez les colonnes et repérez les problèmes d’import. CSV et TSV sont traités localement sans modifier les valeurs.
Ouvrir l’outil — Convertisseur de séparateur CSVComparer deux fichiers CSV
Associez les enregistrements par colonne clé pour repérer les ajouts, suppressions et modifications.
Ouvrir l’outil — Comparer deux fichiers CSVDoublons CSV
Repérez les lignes répétées et les identifiants associés à des valeurs différentes. Examinez les conflits et exportez les données.
Ouvrir l’outil — Doublons CSVFusionner des fichiers CSV
Ajoutez les lignes de plusieurs CSV, alignez les colonnes par nom et téléchargez le résultat et son rapport.
Ouvrir l’outil — Fusionner des fichiers CSVDécoupeur CSV
Découpez un CSV par lignes ou taille exacte. Conservez les en-têtes et téléchargez chaque partie.
Ouvrir l’outil — Découpeur CSV