Convertisseur JSON en CSV
Transformez des objets JSON plats en tableau sans arrondir les grands identifiants ni deviner les colonnes. Collez du JSON ou choisissez un fichier UTF-8 local, sélectionnez un séparateur, puis copiez ou téléchargez le résultat vérifié.
Convertir un tableau d’objets plats
- Choisissez JSON collé ou Fichier local. Le fichier doit être en UTF-8, porter l’extension .json ou .txt et ne pas dépasser 2 Mio. La source doit être un tableau non vide d’objets dont les valeurs sont des chaînes, nombres, booléens ou null. Les valeurs imbriquées et JSON Lines ne sont pas pris en charge.
- Choisissez la virgule, le point-virgule ou la tabulation. Le préfixage des cellules ressemblant à des formules est désactivé par défaut : l’activer modifie les en-têtes et valeurs concernés, y compris les nombres négatifs, sans garantir la sécurité dans un tableur. Utiliser l’exemple remplit la source avec deux objets sans lancer la conversion.
- Sélectionnez Convertir et consultez le nombre de lignes de données, de colonnes et d’octets de sortie. Les détails montrent comment les objets deviennent des colonnes par ordre de première apparition et du texte entre guillemets. Copier et Télécharger utilisent le résultat actuel complet, même si l’aperçu par défaut est raccourci.
Comprendre le tableau et ses limites
Les colonnes suivent l’ordre de première apparition de chaque clé décodée lors de la lecture des objets et de leurs membres dans l’ordre écrit. Les clés à apparence numérique ne sont pas triées. Les clés rencontrées plus tard ajoutent des colonnes ; les lignes précédentes y reçoivent des cellules vides. Les objets vides restent des lignes si un autre objet fournit une colonne ; un document sans colonne ne peut pas être converti.
Les chaînes conservent leurs caractères décodés. Avec le préfixage désactivé, les nombres comme 9007199254740993, 1.2300, 1e+03 et -0 conservent leur écriture originale ; ils ne sont pas évalués comme nombres par le navigateur. Les booléens deviennent true ou false. Les valeurs null, membres absents et chaînes vides produisent tous des cellules CSV vides, avec des comptes distincts dans le résultat.
Le CSV ne permet pas de retrouver le JSON original et ne conserve pas les types. Un nombre et le même texte dans une chaîne JSON peuvent produire des cellules identiques. Un tableur peut modifier les zéros initiaux, les grands nombres, les dates ou les formules même si tous les champs sont entre guillemets. Choisissez un séparateur et des paramètres d’importation de texte adaptés ; une ouverture par double-clic ne garantit pas la conservation des valeurs.
Chaque champ de sortie est entre guillemets et les guillemets internes sont doublés. Les enregistrements se terminent par CRLF, y compris le dernier ; les CRLF, LF, CR et tabulations internes restent dans leurs champs. La sortie est en UTF-8 sans BOM. Le point-virgule et la tabulation sont des dialectes explicites : tous les lecteurs CSV ou TSV ne traitent pas nécessairement leurs guillemets.
Suivre les objets fournis
L’exemple fourni de 86 octets produit deux lignes de données et cinq colonnes dans l’ordre de première apparition : 10, 2, name, new et flag. Avec la virgule et sans préfixage, la sortie compte 97 octets UTF-8, en-tête et CRLF final compris. Le grand identifiant et 1e+03 restent inchangés, et la virgule et les guillemets du nom restent dans un seul champ.
Le même exemple contient quatre membres absents, une valeur null et aucune chaîne vide. Ces cinq cellules semblent vides dans le CSV, mais leurs causes restent visibles dans les comptes. Un champ, -0, correspond au critère de formule. Le préfixage le transforme en '-0 et porte la sortie à 98 octets ; c’est une modification documentée des données, pas une garantie de sécurité.
Un objet vide suivi d’un objet contenant a: 1 produit l’en-tête a, une première cellule de données vide, puis 1. Un tableau vide ou composé uniquement d’objets vides échoue car aucune colonne n’existe. Deux écritures échappées différemment d’une même clé décodée dans un objet provoquent aussi un échec au lieu d’écraser une valeur.
Limites explicites et données non prises en charge
Les fichiers originaux et le texte UTF-8 brut collé sont limités à 2097152 octets ; la source brute ou décodée est aussi limitée à 2097152 unités UTF-16. Le tableau accepte 10000 lignes de données, 256 colonnes distinctes et 250000 cellules de données, calculées en multipliant lignes par colonnes, cellules vides comprises. Une clé, une chaîne décodée ou un jeton numérique est limité à 65536 valeurs scalaires Unicode avant préfixage.
La sortie est limitée à 4194304 octets UTF-8, guillemets, préfixes et CRLF final compris. Un worker dépassant 15000 millisecondes est arrêté sans export partiel. L’aperçu ordinaire montre au plus 100000 valeurs scalaires Unicode ; Copier, son champ de secours complet en lecture seule et Télécharger utilisent la sortie acceptée complète.
Une clé ne peut pas être vide ni composée uniquement d’espaces ASCII, tabulations, CR ou LF. Les clés décodées en double, les demi-codets de substitution non appariés et les caractères de contrôle ASCII décodés autres que tabulation, CR et LF sont rejetés ; DEL l’est également. Ce sont des restrictions volontaires d’interopérabilité tabulaire : toute source rejetée n’est pas nécessairement contraire à la grammaire JSON. Une signature initiale est acceptée, mais une seconde hors du texte JSON n’est pas ignorée.
Le préfixage ajoute une apostrophe devant une cellule commençant par une tabulation, CR ou LF, ou dont le premier caractère après les espaces ASCII, tabulations, CR et LF initiaux est =, +, -, @ ou leur équivalent pleine chasse. Les espaces originaux sont conservés. La règle s’applique aussi aux en-têtes ; si elle crée des doublons, la conversion échoue. Ce traitement n’est pas universel et d’autres logiciels peuvent modifier ou annuler son effet.
Fichiers locaux et résultat actuel
Cet outil n’ajoute ni envoi de document, ni compte, historique enregistré, journalisation de la source ou URL de partage contenant des données. Modifier le texte, la source ou les options, remplacer un fichier, annuler ou effacer invalide l’ancien résultat. Les services existants du site restent soumis à ses politiques ; le traitement local ne constitue pas une certification de ces services ou du déploiement.
Questions sur la conversion JSON en CSV
Sources et références des formats
- rfc-editor.orgRFC 8259La RFC 8259 décrit JSON ; ce convertisseur accepte un profil plat et interopérable plus restreint.
- rfc-editor.orgRFC 4180La RFC 4180 décrit un format courant séparé par des virgules et le doublement des guillemets ; le point-virgule et la tabulation sont des dialectes distincts.
- encoding.spec.whatwg.orgEncoding StandardLa norme Encoding décrit le décodage UTF-8 et les signatures.
- owasp.orgOWASPOWASP décrit l’injection de formules dans les tableurs et les limites des mesures de protection.
- support.microsoft.comMicrosoft ExcelMicrosoft explique comment les tableurs peuvent modifier les zéros initiaux et les grands nombres.
Outils associés
Convertisseur 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 CSVConvertisseur CSV en JSON
Convertissez du texte CSV ou des fichiers UTF-8 en objets ou tableaux JSON, sans déduire les types des cellules.
Ouvrir l’outil — Convertisseur CSV en JSONDé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