Convertitore da CSV a JSON
Converti dati da CSV a JSON all'istante mentre scrivi, direttamente nel browser.
Input
Output
Leggimi
Cosa sono questi formati di dati?
I programmi archiviano e scambiano dati strutturati, come impostazioni, record ed elenchi, in formati di testo che li rappresentano ciascuno a modo proprio. Un convertitore è utile quando un programma fornisce dati in un formato che un altro non riesce a leggere, oppure quando un formato è più facile da leggere o modificare per il lavoro da svolgere.
| Formato | Come rappresenta i dati | Dove si trova |
|---|---|---|
| JSON | Oggetti tra parentesi graffe, elenchi tra parentesi quadre, testo tra virgolette doppie | API Web e impostazioni delle app |
| YAML | Righe key: value con rientro, elementi degli elenchi che iniziano con - |
Docker Compose, Kubernetes e file di pipeline CI |
| XML | Elementi racchiusi in tag, che possono avere attributi | Documenti, feed RSS e servizi Web SOAP |
| TOML | Righe key = value sotto intestazioni [table] |
File di configurazione come Cargo.toml e pyproject.toml |
| TOON | Righe con rientro, con elenchi di record disposti in righe sotto i rispettivi campi | Dati strutturati inviati ai modelli linguistici di IA |
| CSV | Una riga di intestazione, seguita da una riga per record; i valori sono separati da virgole | Fogli di calcolo ed esportazioni di database |
| TSV | Come CSV, ma con tabulazioni tra i valori | Celle copiate da un foglio di calcolo |
| MessagePack | Dati binari, rappresentati qui come byte esadecimali | Messaggi compatti tra programmi |
| JSON5 | JSON che consente anche commenti, virgolette singole e chiavi senza virgolette | File di configurazione scritti a mano |
| JSONL | Un valore JSON per riga, detto anche JSON Lines o NDJSON | Log e insiemi di dati |
| INI | Righe key = value sotto intestazioni [section] |
File delle impostazioni dei programmi, come php.ini |
| Properties | Righe key = value con chiavi separate da punti |
App Java, come i file application.properties di Spring Boot |
Descrizione dello strumento
Questo strumento converte i dati tra questi 12 formati: JSON, YAML, XML, TOML, TOON, CSV, TSV, MessagePack, JSON5, JSONL, INI e Java properties. Tutti i convertitori di formati di dati qui funzionano allo stesso modo, dal Convertitore generale di formati di dati a quelli dedicati a una singola coppia, come da JSON a YAML, da CSV a JSON o da XML a JSON: si avviano con i formati indicati nel nome, mentre i menu Sorgente e Destinazione permettono di scegliere qualsiasi altro formato. Incolla o digita i tuoi dati e il risultato apparirà man mano che scrivi, in un editor di codice con evidenziazione della sintassi, pronto da copiare. Il pulsante di scambio inverte la conversione e imposta il risultato come nuovo input.
Se l’input non è valido nel formato sorgente, il messaggio di errore indica cosa non va, di solito specificando la riga e la colonna del problema.
I tuoi dati vengono convertiti nel browser e non vengono mai caricati.
Esempio
Questo JSON:
{
"users": [
{ "id": 1, "name": "Ann", "admin": true },
{ "id": 2, "name": "Bo", "admin": false }
]
}diventa questo YAML:
users:
- id: 1
name: Ann
admin: true
- id: 2
name: Bo
admin: falsequesto CSV, con una riga per utente:
id,name,admin
1,Ann,true
2,Bo,falsee questo TOON:
users[2]{id,name,admin}:
1,Ann,true
2,Bo,falseCome si mappano i formati tra loro
I formati non possono contenere tutti gli stessi tipi di dati, quindi alcune conversioni seguono queste regole:
- CSV e TSV rappresentano una tabella. La prima riga indica i nomi delle colonne e ogni riga successiva diventa un oggetto. Gli oggetti annidati diventano colonne i cui nomi corrispondono al percorso, mentre gli elenchi diventano testo JSON nelle rispettive celle; perciò
{"name": "Ann", "address": {"city": "Oslo"}, "tags": ["a", "b"]}diventa le colonnename,address.cityetags. Nella conversione inversa, queste colonne tornano a essere oggetti annidati ed elenchi. Se i dati sono un oggetto che contiene un solo elenco, come{"users": [...]}, le righe corrispondono agli elementi dell’elenco, mentre un elenco di elenchi diventa un insieme di righe senza intestazione. - Valori di testo: CSV, TSV, XML, INI e properties contengono solo testo, quindi i convertitori trasformano
trueefalsenei valori booleani true e false e i numeri scritti in forma semplice, come42o3.5, in numeri. Valori come007,1.50o1e3restano testo, così i codici postali e i numeri di versione mantengono esattamente la loro forma. - Gli attributi XML diventano chiavi che iniziano con
@, mentre il testo di un elemento che ha attributi diventa#text:<price currency="USD">44.95</price>diventa{"@currency": "USD", "#text": 44.95}. Gli elementi ripetuti diventano un elenco. Nella conversione in XML, le chiavi che iniziano con@tornano a essere attributi. Un oggetto con una sola chiave il cui valore non è un elenco diventa l’elemento radice. Gli altri dati vengono inseriti in un elemento<root>, con ogni elemento dell’elenco principale contenuto in un elemento<item>. I caratteri non ammessi nei nomi XML, come gli spazi, diventano_. - TOML, INI e properties possono contenere solo valori con nome al livello superiore, quindi i dati rappresentati da un elenco vengono scritti sotto il nome
itemse un singolo valore sottovalue. TOML non prevede null, quindi i valori null vengono omessi. - INI rappresenta gli oggetti annidati come sezioni, per esempio
[server.ssl], gli elenchi di valori come righekey[] = valuee gli elenchi di oggetti come sezioni denominate in base alla loro posizione, per esempio[users.0]. - Le chiavi properties uniscono i nomi annidati usando punti e numerano gli elementi degli elenchi tra parentesi quadre, per esempio
app.hosts[0], come fa Spring Boot. Quando vengono convertite in YAML o JSON, queste chiavi diventano oggetti annidati ed elenchi, quindi un fileapplication.propertiesviene convertito nella struttura di un fileapplication.yml. I caratteri al di fuori di Latin-1 vengono scritti come sequenze di escape\u. - I risultati YAML racchiudono tra virgolette il testo che i lettori YAML 1.1 interpreterebbero come qualcos’altro, per esempio
on,yeso una data, in modo che i lettori YAML 1.1 e YAML 1.2 ottengano gli stessi dati. Un file YAML con più documenti separati da---diventa un elenco di documenti e le chiavi di merge<<vengono espanse. - MessagePack è binario, quindi gli strumenti lo leggono e lo scrivono come byte esadecimali:
{"a": 1}diventa81 A1 61 01. L’input può contenere spazi, virgole e il prefisso0xprima di ogni byte. Più messaggi consecutivi diventano un elenco. - Nei risultati JSONL, ogni elemento dell’elenco è su una riga distinta.
- I numeri interi troppo grandi per essere rappresentati dai numeri JavaScript, come gli ID a 64 bit, mantengono tutte le loro cifre.
- Le date e gli orari TOML e i timestamp MessagePack diventano testo, per esempio
1979-05-27T07:32:00Z.
Suggerimenti
- Per convertire celle da un foglio di calcolo, copiale e incollale come TSV: le app per fogli di calcolo copiano le celle come testo separato da tabulazioni.
- CSV e TSV sono adatti ai dati costituiti da un elenco di record simili. Per i dati con molti livelli di annidamento, YAML, TOML o TOON sono più leggibili.
- I commenti nei file YAML, XML, TOML, JSON5, INI e properties non vengono mantenuti, perché i convertitori trasferiscono solo i dati.