Convertir JSON imbriqué en CSV sans perdre d'identificateurs ou de tableaux

Choisissez une définition de ligne, comprenez les colonnes imbriquées et les cellules de tableau, puis réconciliez l'exportation avant de l'importer dans un tableur.

Décider quelle ligne de sortie représente

Avant de convertir JSON, nommez l'entité que chaque ligne doit décrire : un client, une commande, un événement ou un autre enregistrement. Notre aplatisseur JSON-to-CSV accepte un objet ou un tableau d'objets de haut niveau. Il ne développe pas automatiquement un tableau ligne-item orders dans des lignes séparées. Si vous exportez des enregistrements sous une propriété d'emballage, sélectionnez le tableau prévu délibérément avant de le coller. Enregistrer le JSON original et enregistrer cette sélection. Une table peut être parfaitement valide tout en représentant le mauvais niveau de détail pour le système de réception, donc clarifier la définition de ligne d'abord.

Trace les objets imbriqués dans les noms de colonnes

Les propriétés des objets imbriqués deviennent des colonnes séparées par des points. Dans la démonstration intégrée, un objet de contact produit contact.city et contact.email. L'exécution de ses deux enregistrements produit sept colonnes : nom, contact.city, contact.email, tags, note, solde et compagnie. L'ordre des colonnes suit la première apparition dans les dossiers. Un champ découvert dans le deuxième enregistrement est toujours inclus dans la table partagée. Examiner les en-têtes en fonction du schéma prévu pour le système récepteur; les chemins de sources descriptives sont utiles pour l'inspection, mais il peut être nécessaire d'établir une cartographie séparée des destinations. L'aplatissement ne décide pas que la cartographie pour vous.

Gardez les champs manquants et explicite null distinct

Dans la démonstration, Alex n'a pas de propriété contact.email, donc cette cellule est vide. L'équilibre d'Alex est explicitement nul, donc la table contient le texte nul. Ces valeurs sont différentes dans la source et restent visiblement différentes dans cet outil. Un objet vide est représenté par {}. Vérifiez comment la demande de réception interprète chaque convention avant d'importer. Certaines destinations s'attendent à ce qu'une cellule vide signifie inconnue, tandis que d'autres l'utilisent pour dégager un champ. Le convertisseur ne peut pas déduire cette règle commerciale. Documentez votre traitement prévu au lieu de remplacer silencieusement chaque blanc ou nul par zéro.

Choisissez une présentation de tableau délibérément

Garder les tableaux comme JSON place le tableau entier dans une cellule, y compris ses crochets et les chaînes citées. Les étiquettes de démonstrations restent un tableau JSON plutôt que de devenir des lignes client séparées. Le mode Join est disponible pour les éléments primitifs, en utilisant un séparateur vertical-bar. Cet écran est plus facile à scanner mais peut être ambigu si une chaîne source contient déjà le séparateur ou si les valeurs vides comptent. Les tableaux et objets imbriqués ne sont pas pris en charge en mode joint. Utilisez les cellules JSON lorsque vous avez besoin de la structure disponible pour une interprétation ultérieure, et inspecter le flux de travail de réception plutôt que de supposer qu'il peut analyser ces cellules.

Comment les valeurs imbriquées deviennent des cellules CSV
Valeur JSONReprésentation CSVChoix de préserver
contact.cityUne colonne contact.cityÉviter les collisions littérales à clé pointillée
Biens manquantsCellule videDistinguer de null
Explicite nullTexte nullVérifiez l'interprétation de l'importation
TableauUne cellule sérialisée ou jointePas d'extension automatique ligne par élément
Chaîne à l'aspect numériqueContenu des chaînesImporter les ID comme texte
JSON-to-CSV aplatisseur montrant des colonnes de contact et des tableaux sérialisés.
Les enregistrements intégrés fictifs montrent différents champs, tableaux et null. Testez une importation d'échantillon avant de convertir un ensemble de données complet. Capture du .

Utilisez cet exemple Ouvre JSON au CSV avec ces entrées.

Protéger les identifiants avant l'analyse des numéros

Un identificateur tel que 00123 devrait être une chaîne JSON citée lorsque sa tête de zéro est matière. Les grands identificateurs et les quantités décimales exactes doivent également être manipulés de façon délibérée. MDN documente comment les valeurs numériques JSON peuvent perdre de la précision lorsqu'elles sont analysées dans les numéros JavaScript. Cet outil rejette les valeurs entières dangereuses, mais il ne promet pas une précision décimale arbitraire. Citer les identifiants exacts ou les quantités dans l'exportation originale, le cas échéant. Formater un nombre endommagé comme texte après la conversion ne peut pas récupérer les chiffres source. Conservez un identifiant connu et une quantité représentative dans l'échantillon que vous vérifiez avant de traiter l'ensemble de données complet.

Inspecter séparément la citation et la protection des feuilles de calcul

L'auteur du CSV cite des champs et double les guillemets littéraux. Une note contenant une virgule ou une nouvelle ligne devrait donc rester une cellule lorsqu'un lecteur conforme l'analyse. Le RFC 4180 décrit les conventions communes de citation du CSV. La protection de la formule de tableur est une transformation de contenu séparée: l'outil ajoute une apostrophe aux cellules suspectes, y compris des valeurs négatives et des rubriques pertinentes. L'OWASP documente le risque que du texte semblable à une formule soit interprété par un logiciel de tableur. Passez en revue l'aperçu brut et l'exportation protégée. La protection modifie la chaîne de sortie, donc elle peut ne pas convenir à un système qui attend une valeur originale exacte.

Convertir les délimiteurs avec un analyseur et réconcilier les ID

Si la destination nécessite des point-virgules ou des onglets, choisissez ce séparateur directement ou utilisez le convertisseur de limiteur CSV après aplatissement. Ne remplacez pas globalement les virgules : certaines appartiennent à des valeurs intérieures. Pour le rapprochement, extraire les colonnes d'identification source et destination dans deux listes d'item par ligne et utiliser Comparer deux listes. Sélectionnez la sensibilité des cas et la manipulation de l'espace blanc consciemment. Ses ensembles s'effondrent en double, tandis que le tableau de vérification conserve les comptes d'événements. Un compte de correspondance seul ne peut pas vérifier chaque ligne de valeurs ou d'ordre. Comparez quelques enregistrements complets ainsi que les ensembles d'identificateurs avant de traiter l'importation comme étant réconciliée.

Poignez les collisions et vérifiez l'importation reçue

Une clé littérale nommée contact.city peut entrer en collision avec le chemin créé par un objet de contact imbriqué. L'aplatisseur rejette les collisions ambiguës par points au lieu de choisir une valeur. Renommer des clés contradictoires ou les mapper explicitement dans le flux de travail source. Commencez par un petit échantillon représentatif contenant des valeurs manquantes, des tableaux, des notes citées et des identifiants importants. Importez-le en utilisant le délimiteur et les types de colonnes prévus, puis comparez-le avec le JSON original. Une fois qu'il se comporte correctement, enregistrez les paramètres pour la conversion complète. Une analyse réussie prouve que la structure d'exportation est lisible; elle n'établit pas que les données sous-jacentes sont correctes.

Sources et lectures complémentaires

Haut de page ↑

Continuez à explorer

D'autres exemples pour votre prochaine petite tâche.

Parcourir tous les articles
Aide

Comment pouvons-nous vous aider ?

Trouvez les instructions, signalez un problème ou laissez un message.

Questions communes

Par où commencer ? Essayez un exemple, puis remplacez ses valeurs par les vôtres.

Pourquoi mon téléchargement a échoué ? Vérifiez l'erreur de champ, le format accepté et la taille limite de fichier. Commencez par un petit échantillon désinfecté.

Où sont mes résultats ? Examiner le panneau de résultats, puis utiliser ses contrôles de copie ou de téléchargement. Si un calcul échoue, vérifiez l'erreur à côté de l'entrée.

Messagez-nous

Chat ouvre Tawk.to. Il traite vos messages et vos données de connexion. Ne collez pas les entrées privées ou le contenu du fichier. Les temps de disponibilité et de réponse varient.