Comment JSON s’articule avec les tables relationnelles
Un tableau JSON d’objets se mappe naturellement à une table relationnelle : chaque objet devient une ligne, chaque clé unique devient une colonne. Le convertisseur analyse chaque objet du tableau pour découvrir toutes les clés distinctes, puis synthétise une instruction CREATE TABLE dont les colonnes couvrent l’union complète des clés trouvées.
L’inférence de type lit les types de valeurs JSON — les chaînes deviennent VARCHAR ou TEXT, les nombres deviennent INT ou FLOAT selon la présence d’un point décimal, les booléens deviennent TINYINT(1) ou BOOLEAN, et les valeurs null sont marquées comme nullable. Les objets ou tableaux imbriqués sont sérialisés dans une colonne JSON pour ne perdre aucune donnée.
Si votre racine JSON est un objet unique plutôt qu’un tableau, l’outil l’enveloppe dans un tableau et génère une ligne INSERT. Cela vous permet de convertir n’importe quelle forme JSON sans pré-traitement manuel.
Différences de dialectes et options
MySQL utilise les guillemets inverses et TINYINT(1) pour les booléens. PostgreSQL utilise les guillemets doubles, le type natif BOOLEAN et SERIAL pour l’auto-incrément. SQLite utilise le typage dynamique avec les affinités TEXT/INTEGER/REAL/NUMERIC. SQL Server utilise les crochets et BIT pour les booléens. Sélectionnez votre base de données cible dans le menu déroulant de dialecte avant de générer.
Le nom de table est "data" par défaut mais peut être personnalisé. Vous pouvez choisir d’émettre uniquement des instructions INSERT (utile quand la table existe déjà), uniquement le DDL CREATE TABLE, ou les deux ensemble. Le mode INSERT supporte la syntaxe multi-lignes VALUES (row1, row2, …) pour les bases qui la supportent, ou des INSERT individuels pour une compatibilité maximale.
Les valeurs de type chaîne sont automatiquement échappées : les apostrophes sont doublées et les séquences d’échappement sont gérées selon le dialecte. Les valeurs numériques et booléennes sont émises sans guillemets. Les valeurs JSON null sont converties en SQL NULL.
Cas d’utilisation pratiques
L’alimentation d’une base de développement à partir d’un fichier JSON de fixtures est l’un des flux de travail les plus courants. Exportez les données d’une API, collez le JSON et obtenez des instructions INSERT que vous pouvez exécuter directement dans votre client SQL ou inclure dans un script de migration.
Les projets de migration de données impliquent souvent le déplacement d’enregistrements entre systèmes. Convertir l’export JSON d’un système en SQL vous permet de l’importer dans une base relationnelle sans écrire de code ETL personnalisé.
La découverte de schéma est un autre avantage : le CREATE TABLE auto-généré vous donne un premier brouillon de schéma à partir de données réelles, que vous pouvez ensuite affiner avec des clés primaires, des index et des contraintes appropriés.