ForHosting KIT · Veille et lecture de sites web

Convertir JSON en CSV

Convertissez un tableau JSON en CSV fiable sans écrire de script ni craindre que des enregistrements irréguliers décalent discrètement les colonnes.

● BetaGratuit · dans votre navigateur
Utilisez-le depuis WebAPIE-mailTelegramApp bientôt

Ce convertisseur strict reprend les clés du premier objet comme en-tête, vérifie que chaque objet possède exactement les mêmes clés, puis échappe les virgules, guillemets et sauts de ligne selon les règles CSV. Les tableaux vides, valeurs imbriquées, JSON invalide et enregistrements incompatibles produisent une erreur claire plutôt qu'une feuille ambiguë. La même conversion déterministe est accessible dans le navigateur et par API.

Préparez un tableau uniforme d'objets plats

Commencez par un JSON valide dont la valeur de premier niveau est un tableau. Chaque élément doit être un objet et chaque champ doit contenir une valeur JSON scalaire : chaîne, nombre, booléen ou null. Les objets et tableaux imbriqués sont volontairement refusés, car il n'existe pas une seule manière correcte de les placer dans une cellule CSV. Certains convertisseurs transforment les valeurs imbriquées en texte, tandis que d'autres aplatissent les chemins ou multiplient les lignes ; chaque choix modifie le sens des données. Cet outil reste prévisible en exigeant une forme tabulaire explicite avant la conversion. Le tableau doit contenir au moins un objet, et le premier objet doit posséder au moins une clé. L'ordre de ses clés devient celui des colonnes CSV : organisez donc ce premier enregistrement comme vous souhaitez voir apparaître la feuille. L'ordre des clés de l'objet JSON est conservé. Les valeurs peuvent contenir des virgules, guillemets, retours chariot ou sauts de ligne ; vous n'avez pas à les échapper vous-même pour le CSV, car le sérialiseur s'en charge après l'analyse du JSON.

Comprenez la validation stricte des en-têtes et lignes

La ligne d'en-tête provient uniquement des clés du premier objet. Chaque objet suivant est ensuite comparé à cet en-tête comme un ensemble complet de clés. Un enregistrement auquel il manque une clé échoue, tout comme un enregistrement avec une clé supplémentaire, même si sa valeur est vide ou null. L'ordre des clés dans les objets suivants n'a aucune importance : les valeurs sont toujours émises dans l'ordre des colonnes du premier objet. Ce contrôle strict évite une catégorie subtile d'erreurs d'exportation. Un convertisseur permissif peut créer une union croissante de colonnes, laisser des blancs inexpliqués ou décaler des données selon l'enregistrement qui introduit une propriété. Ici, une entrée irrégulière s'arrête avec une erreur qui désigne l'élément incompatible. null est accepté comme valeur plate intentionnelle et devient une cellule CSV vide. Une clé absente n'est pas assimilée à null, car l'absence et un null explicite peuvent représenter des états différents dans le système source. Validez ou normalisez les enregistrements irréguliers en amont.

Utilisez le CSV en toute sécurité dans vos processus

Après validation, chaque en-tête et chaque valeur sont sérialisés dans une cellule CSV. Les cellules contenant une virgule, un guillemet, un retour chariot ou un saut de ligne sont entourées de guillemets doubles, et les guillemets internes sont doublés. Les nombres et booléens conservent leur représentation textuelle JSON, tandis que null produit une cellule vide. Le résultat comprend une ligne d'en-tête suivie d'une ligne par objet, reliées par des caractères de saut de ligne. Comme l'algorithme est déterministe et n'utilise ni réseau, ni horloge, ni hasard, ni modèle, ni service externe, une entrée identique produit une sortie identique. Il convient ainsi aux tests, exportations planifiées, étapes de build et transferts de données reproductibles. Dans le navigateur, collez le JSON et copiez le CSV généré sans envoyer les données ailleurs. Pour automatiser, appelez l'API au tarif publié de $0.002 par requête. Enregistrez le texte retourné avec l'extension .csv, puis ouvrez-le ou importez-le en choisissant la virgule comme séparateur.

Exportez des données API vers une feuille

Transformez un tableau uniforme issu d'une API interne en colonnes que les équipes opérationnelles ou financières peuvent trier, filtrer et contrôler.

Créez des jeux de test déterministes

Produisez des fichiers CSV de test stables depuis des enregistrements JSON et échouez aussitôt qu'un champ est ajouté ou omis.

Validez un transfert de données tabulaires

Imposez un schéma commun à tous les enregistrements avant de remettre le CSV à un importateur, analyste, client ou processus de reporting.

Comment l'en-tête CSV est-il choisi ?

Le convertisseur utilise les clés du premier objet dans leur ordre existant. Tous les objets suivants doivent avoir exactement le même ensemble de clés.

Que se passe-t-il si les objets ont des clés différentes ?

La conversion échoue avec une erreur d'entrée invalide qui désigne l'élément incompatible. Les clés absentes comme supplémentaires sont refusées.

Les objets ou tableaux imbriqués sont-ils acceptés ?

Non. Chaque valeur doit être une chaîne, un nombre, un booléen ou null. Normalisez ou aplatissez les données imbriquées avant la conversion.

Comment les virgules, guillemets et sauts de ligne sont-ils échappés ?

Toute cellule contenant un de ces caractères est entourée de guillemets doubles, et chaque guillemet interne est doublé.

Quel est le coût de la conversion par API ?

Chaque requête API réussie coûte $0.002. La version navigateur s'exécute gratuitement en local.

Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.

POSThttps://api.kit.forhosting.com/web/json-to-csv

Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.

curl -X POST https://api.kit.forhosting.com/web/json-to-csv \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"[{\"name\":\"Ada\",\"role\":\"Engineer\",\"active\":true},{\"name\":\"Grace\",\"role\":\"Admiral\",\"active\":false}]"}'
{
  "text": "[{\"name\":\"Ada\",\"role\":\"Engineer\",\"active\":true},{\"name\":\"Grace\",\"role\":\"Admiral\",\"active\":false}]"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "web.json_to_csv",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.

par requête$0.002

Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.

timeout_sec30
max_crawl_pages25
HTTPCodeSignification
401unauthorizedClé API absente ou invalide : vérifiez l’en-tête Authorization.
402insufficient_balanceSolde insuffisant : rechargez votre compte pour lancer cette tâche.
404unknown_typeType de tâche inconnu : vérifiez le champ type de votre requête.
429rate_limitedTrop de requêtes : ralentissez la cadence, puis réessayez.

Consulter la documentation complète du KIT →