Che cosa fa questo strumento
Entra JSON delimitato da a capo, esce un array.
{"id": 1, "name": "Ada"}
{"id": 2, "name": "Grace"}
[
{
"id": 1,
"name": "Ada"
},
{
"id": 2,
"name": "Grace"
}
]
È tutto il formato: un valore JSON per riga, senza virgole in mezzo, senza parentesi attorno. È quello che scrivono le catene di log, quello che si aspettano bq load e molte API di flusso, e quello che produce jq -c.
La riga sbagliata viene nominata
{"a": 1}
{oops}
Invalid JSON on line 3
La riga vuota viene saltata senza una parola — un file NDJSON spesso finisce con una. La riga malformata ferma la conversione, e il messaggio porta il suo numero, così ci vai dritto. Non ricevi un array parziale: metà dei record senza niente che lo dica è peggio di un errore.
I numeri lunghi tengono le loro cifre
{"id": 12345678901234567890}
[
{
"id": 12345678901234567890
}
]
Oltre una sedicina di cifre un numero JavaScript smette di essere esatto: leggi quell’id come numero e ne riprendi un altro, in silenzio. Qui sia la lettura sia la scrittura conservano il letterale com’era scritto, ed è questo che fa sopravvivere al viaggio un file di identificatori di Twitter o Discord.
Che cosa non fa
- Riordinare o togliere i doppioni. L’array tiene le righe nell’ordine in cui sono arrivate, ripetizioni comprese.
- Pretendere oggetti. Una riga può essere qualsiasi valore JSON:
1,"x"enullsono record validi e passano come tali. - Spezzare una riga. Due valori su una riga sono un errore, non due record.
Privato per progettazione
Tutto viene eseguito localmente nel browser con JavaScript. I tuoi dati non vengono mai caricati, quindi lo strumento è sicuro per contenuti sensibili e funziona anche offline.