CSV n'a pas de spécification que tout le monde suit, ce qui est exactement pourquoi tant de convertisseurs ne sont pas d'accord entre eux sur les cas limites. Cet outil suit la RFC 4180 et indique l'unique endroit où il s'en éloigne, plutôt que de choisir des règles silencieusement.
Utilisation du convertisseur JSON vers CSV
Choisissez une direction, définissez le séparateur (virgule, point-virgule ou tabulation) et si la première ligne contient les noms de colonnes, puis appuyez sur Convertir. Pour aller en CSV, il faut un tableau d'objets, la seule forme de JSON qui est réellement un tableau ; un seul objet est aussi accepté, considéré comme un tableau d'une seule ligne.
Convertir
[{"name":"Doe, Jane","age":30,"note":null},{"name":"Smith","age":25,"note":"line1\nline2"}]
produit :
name,age,note
"Doe, Jane",30,
Smith,25,"line1
line2"
Un champ n'est mis entre guillemets que lorsque c'est réellement nécessaire :
la virgule dans “Doe, Jane” force les guillemets, le saut de ligne incorpore
dans la deuxième note force les guillemets, et une valeur simple comme
Smith reste sans guillemets.
Ce qui arrive aux valeurs imbriquées et null
Un objet ou un tableau imbriqué n'a pas de forme CSV du tout, une grille de
valeurs simples, il est donc écrit dans la cellule en tant que son propre
texte JSON plutôt que jeté ou étalé dans des colonnes inventées. null
devient un champ vide, ce qui signifie bien qu'un null et une chaîne vide
sont indistinguables une fois qu'ils atteignent CSV. Les deux choix sont
indiqués sur la page plutôt que découverts plus tard.
Pourquoi chaque champ revient en chaîne
En convertissant depuis CSV, chaque valeur reste en chaîne, délibérément.
Un fichier CSV n'enregistre aucun type, donc les deviner est comment un
code postal de 01234 perd son zéro initial et devient 1234, et comment
un identifiant long est arrondi dès que quelque chose essaie de le lire
comme un nombre. Convertir les colonnes que vous connaissez en nombres
après coup est une ligne de code ; un identifiant silencieusement arrondi
n'est pas récupérable. En relisant l'exemple ci-dessus, age revient en
tant que chaîne "30", pas le nombre 30, et le champ vide note revient
en tant que "", pas null.
Inverser la direction
L'inversion déplace la sortie actuelle dans l'entrée et retourne la direction, vous pouvez donc vérifier immédiatement qu'un document fait le voyage aller et retour à travers CSV comme prévu, sans tout retaper. Essayez avec des données contenant une virgule dans un champ ou un zéro initial dans un ID, car ce sont exactement les cas que la plupart des convertisseurs ratent.