Vai al contenuto

Convertitore JSON Lines

JSON Lines Converter

Converte fra NDJSON e un array JSON, e segnala per numero ogni riga che non si analizza invece di fermare la conversione.

Converte un array JSON in JSON Lines — un record per riga, il formato che vogliono le catene di log e BigQuery — e all’indietro. Legge anche un flusso di valori JSON senza nessun separatore, che diverse librerie di logging emettono e che `JSON.parse` rifiuta seccamente.

🔒 Funziona interamente nel tuo browserjsonlndjsonconvertstream
Converti

Ingresso

Trascina un file .json, .jsonl o .ndjson

Letto in questa scheda. Non viene caricato niente.

Un array JSON, oppure una sequenza di valori senza alcun separatore: quest’ultima è quella che emettono parecchie librerie di logging ed è quella che `JSON.parse` rifiuta.

Uscita

Anteprima

I primi record, in forma di tabella.
tslevelmsgms
2025-08-27T09:00:00Zinfostarted12
2025-08-27T09:00:04Zwarnslow query2100
2025-08-27T09:00:09Zerrorupstream 502

L’unione delle chiavi di tutti i record, sui primi 200.

Record

3

Ingresso

246 byte

Uscita

209 byte

Come si usa

  1. Scegliere la direzione

    Da array a righe quando si sta alimentando qualcosa che lavora in streaming; da righe ad array quando si ha un file di log e lo si vuole trattare come un documento solo.

  2. Trascinare dentro il file

    `.json`, `.jsonl` e `.ndjson` sono tutti accettati: NDJSON e JSON Lines sono lo stesso formato sotto due nomi.

  3. Controllare le righe che non si sono analizzate

    Una riga sbagliata non ferma la conversione. Viene elencata per numero con il testo che ha fallito, e di solito è un record troncato in fondo a un log ruotato.

  4. Usare l’anteprima per vedere la forma

    La tabella mostra l’unione delle chiavi di tutti i record fra i primi duecento, che è il modo più rapido di accorgersi che metà delle righe di log hanno un campo che le altre non hanno.

Domande frequenti

Che differenza c’è fra JSON Lines e NDJSON?

Nessuna che conti. Due nomi per la stessa convenzione: un valore JSON per riga, separati da un a capo, senza un array che li racchiuda. Alcuni strumenti usano un’estensione, altri l’altra, e qui si leggono entrambe.

Riesce a gestire un file di log da diversi gigabyte?

No. Tutto il file viene letto nella scheda, convertito in memoria e tenuto come una seconda stringa. Il limite pratico sono le decine di megabyte; oltre, lo strumento giusto è `jq -c` da riga di comando, che lavora in streaming.

Perché ordinare le chiavi?

Perché JSON Lines di solito si confronta con `diff`, e `diff` è un confronto fra righe. Due esportazioni degli stessi dati con le chiavi in ordine diverso sono righe completamente diverse. Ordinarle le rende testo identico.

Che cosa succede a un oggetto annidato?

Resta annidato: un record JSON Lines è un valore JSON intero, quindi l’annidamento va bene e niente viene appiattito. Se se ne vogliono delle colonne, lo strumento che appiattisce è quello da JSON a CSV.

Può ricevere da

Dopo

Questi accettano ciò che produce questo strumento, così il risultato può passare direttamente.