Un convertitore da JSON a CSV trasforma la notazione JavaScript Object Notation (JSON), strutturata e gerarchica, in un foglio di calcolo bidimensionale a valori separati da virgola (CSV). JSON è il formato d’elezione per API REST e database NoSQL, mentre CSV è lo standard per Excel, Fogli Google e database relazionali. Il nostro convertitore gratuito esegue l’intera trasformazione nel tuo browser: nessun file viene caricato, non serve registrazione e non ci sono limiti di grandezza.
Come convertire JSON in CSV
La conversione di JSON in formato CSV si completa in tre passaggi:
- Carica i dati JSON: Incolla il testo JSON, carica un file .json o .jsonl, oppure importa da un URL pubblico. Lo strumento supporta array di oggetti, matrici 2D e strutture nidificate.
- Configura le colonne e visualizza l’anteprima: Tutti i campi rilevati compaiono nella tabella con tipo dedotto e percentuale di compilazione. Rinomina, riordina o escludi colonne e imposta il delimitatore desiderato.
- Scarica il file CSV o la cartella Excel: Esporta il risultato come CSV standard, CSV compatibile con Excel con BOM UTF-8 o autentica cartella Microsoft Excel .xlsx.
Convertire JSON nidificato in CSV
JSON è una struttura ad albero, mentre CSV è una griglia tabellare piana. Quando si convertono oggetti nidificati, ogni proprietà foglia diventa una colonna denominata con il percorso completo (ad es. customer.address.city). Puoi personalizzare il separatore del percorso, limitare la profondità o conservare gli oggetti interni come testo JSON puro.
Gestione di array e oggetti JSON
Gli array all’interno di record JSON non possono essere racchiusi in una singola cella senza una specifica strategia. Offriamo quattro modalità:
- Una colonna per indice: Crea colonne indicizzate indipendenti (items.0, items.1), soluzione ideale per elenchi a lunghezza fissa.
- Una riga per elemento (Unwind): Duplica i campi genitore su più righe per ciascun elemento dell’array, standard per tabelle di database relazionali SQL.
- Cella unificata: Concatena gli elementi in un’unica cella tra virgolette usando un delimitatore personalizzato come punto e virgola (es. "tag1; tag2").
- Testo JSON non elaborato: Mantiene ["tag1", "tag2"] come valore JSON letterale all’interno della cella CSV.
Esempi di conversione da JSON a CSV
Ecco un esempio pratico di dati di ordini convertiti in formato tabellare:
[
{
"orderId": "ORD-2048",
"customer": { "name": "Elena Rostova", "email": "elena@example.com" },
"total": 149.50,
"status": "shipped"
},
{
"orderId": "ORD-2049",
"customer": { "name": "Marcus Vance", "email": "marcus@example.com" },
"total": 89.00,
"status": "pending"
}
]
Il convertitore analizza i record, costruisce un’intestazione unificata con tutte le chiavi, appiattisce l’oggetto nidificato customer e genera un CSV pulito:
orderId,customer.name,customer.email,total,status
ORD-2048,Elena Rostova,elena@example.com,149.5,shipped
ORD-2049,Marcus Vance,marcus@example.com,89,pending
JSON vs CSV: Differenze principali
Confrontare le peculiarità di JSON e CSV aiuta a scegliere il formato ottimale:
| Caratteristica | JSON (JavaScript Object Notation) | CSV (Comma-Separated Values) |
|---|
| Modello di dati | Albero gerarchico (oggetti e array nidificati) | Matrice tabellare bidimensionale (righe e colonne) |
| Tipi supportati | Stringhe, numeri, booleani, null, array, oggetti | Testo puro non tipizzato (tipi dedotti dall’interprete) |
| Dimensione del file | Prolisso (le etichette si ripetono per ogni riga) | Compatto (i campi sono dichiarati solo nella prima riga) |
| Strumenti di riferimento | API Web, database NoSQL, file di configurazione | Fogli di calcolo (Excel, Sheets), database SQL, BI |
JSON in CSV in Python con pandas o libreria standard
Per automatizzare la procedura nei tuoi script Python, pandas risolve l’appiattimento in tre righe:
import json
import pandas as pd
with open("input.json", encoding="utf-8") as handle:
data = json.load(handle)
frame = pd.json_normalize(data, sep=".")
frame.to_csv("output.csv", index=False)
La libreria standard di Python (moduli json e csv.DictWriter) è altrettanto potente e non richiede pacchetti esterni. Suggerimento: passa parse_int=str a json.load per non perdere la precisione su identificatori a 64 bit.
JSON in CSV in Node.js
Node.js permette di convertire strutture JSON piane senza pacchetti npm di terze parti:
import { readFile, writeFile } from 'node:fs/promises';
const data = JSON.parse(await readFile('input.json', 'utf8'));
const fields = [...new Set(data.flatMap((row) => Object.keys(row)))];
const cell = (value) => {
const text = value == null ? '' : String(value);
return /[",\n]/.test(text) ? '"' + text.replaceAll('"', '""') + '"' : text;
};
const csv = [fields, ...data.map((row) => fields.map((field) => row[field]))]
.map((row) => row.map(cell).join(','))
.join('\n');
await writeFile('output.csv', csv, 'utf8');
Perché il servizio è gratuito e senza vincoli
La maggior parte dei siti trasmette i file a server cloud remoti, affrontando costi di banda che riversa sugli utenti con limiti o abbonamenti. jsoncsvonline viene eseguito al 100% nel tuo browser tramite Web Worker: i dati non lasciano mai il computer. Consulta le nostre guide su appiattimento di JSON nidificato, conversione di array JSON e compatibilità con delimitatori e codifiche Excel.
Validazione, formattazione e riparazione JSON prima della conversione
Verificare la conformità sintattica del JSON previene errori imprevisti durante la conversione. Prova anche il nostro Validatore JSON conforme a RFC 8259, il nostro strumento di Riparazione JSON per risolvere virgole e virgolette errate, il Formattatore JSON per abbellire le strutture, il comparatore JSON Diff per visualizzare modifiche o il Minificatore JSON per comprimere payload per la produzione.