Cookie di statistica e di pubblicità
Usiamo cookie di statistica e di pubblicità, entrambi inviati a Google. Rifiutare non cambia niente di quello che vedi.Leggi la pagina sulla privacy
Qui converti NDJSON in XML gratis e senza account: trascina il file qui sopra e in un paio di secondi il risultato è pronto da scaricare. La conversione avviene dentro il tuo browser, quindi il file non viene mai caricato. Funziona allo stesso modo su Windows, macOS e Linux e anche su iPhone e Android, e continua a funzionare anche se stacchi la connessione.
Fino a 100 file alla volta. Formati diversi insieme non sono un problema.
Vengono convertiti uno dopo l’altro e scaricati insieme in uno ZIP.
NDJSON in XML
I due formati stanno agli estremi opposti della stessa domanda. NDJSON è progettato così che nessuna riga dipenda da un’altra: potete dividerlo ovunque, riprenderlo dopo un fallimento. Un documento XML è l’altro estremo — non è valido finché non arriva il tag di chiusura della radice, quindi tutto è un’unità dal primo all’ultimo byte.
È la proprietà attorno a cui pianificare piuttosto che i nomi degli elementi. Una conversione di un export grande produce un singolo documento che deve essere trasmesso, analizzato e accettato per intero, e un fallimento in qualunque punto lo fa fallire tutto. Dividere la sorgente in lotti prima di convertire è la differenza tra una consegna che riprende e una che ricomincia.
La forma è fissa perché la forma in ingresso è fissa. Un file delimitato da a capo è sempre una lista, e una lista non ha un nome proprio, quindi il documento è un elemento radice contenente un elemento item per record. Ogni campo diventa un elemento figlio nominato dalla sua chiave.
Non c’è opzione per cambiare quei due nomi durante la conversione, e non c’è modo sensato per il convertitore di indovinarli — nulla in un file NDJSON dice se i record sono ordini, sinistri o misurazioni. L’output è deliberatamente il documento corretto più semplice.
Quasi ogni intake XML nomina il proprio elemento record in uno schema: un documento Orders contenente elementi Order. Quindi i due nomi generici sono segnaposto, e sostituirli è un lavoro di due righe in qualunque editor.
Farlo prima della prima consegna piuttosto che dopo un rifiuto vale i due minuti. Un intake che valida contro uno schema rifiuterà l’intero documento sul nome dell’elemento e di solito lo riporterà in un modo che non lo dice ovviamente.
Una lista in XML è sempre stata lo stesso tag scritto più volte, quindi un record con tre tag produce tre elementi tags fianco a fianco. Nessuna numerazione, nessuna unione, nessuna decisione presa per conto vostro — la struttura arriva intatta.
È l’argomento più forte a favore di XML rispetto ai target tabulari per lo stesso file. Un ordine con cinque voci o un evento con una lista di regole applicate si converte in XML senza alcun compromesso.
Le chiavi JSON possono essere qualunque cosa: spazi, barre, una cifra iniziale. I nomi degli elementi XML no. Lo scrittore riscrive invece di fallire — i caratteri che XML vieta diventano underscore e un nome che inizia con una cifra ne riceve una davanti.
Gli export generati a macchina incontrano questo più spesso di quelli scritti a mano. Vale la pena cercare underscore nell’output prima della prima consegna se l’intake ha uno schema.
La riconciliazione che le conversioni tabulari eseguono non avviene qui, e non serve. Ogni elemento item porta esattamente i campi che aveva la sua riga, quindi un file con eventi misti produce elementi item di diverse forme dentro un documento — XML valido e di solito non valido contro uno schema.
Uno schema che dichiara una sequenza fissa di elementi figli rifiuterà il primo record che ne omette uno. Filtrate la sorgente a un tipo di record prima di convertire, o aggiungete gli elementi mancanti vuoti.
Le e commerciali, le parentesi angolari e le virgolette doppie in un valore vengono escaped, ciò che impedisce a una descrizione o un messaggio di log contenente markup di terminare il documento in anticipo. Tutto il resto, incluso il testo accentato, viene scritto come UTF-8.
Un null JSON diventa un elemento vuoto: il tag è presente senza nulla tra le sue metà. Alcuni schemi vogliono xsi:nil al suo posto, e alcuni vogliono l’elemento assente del tutto.
Ogni nome di campo appare due volte per record — una volta nel tag di apertura e una nel tag di chiusura — dove NDJSON lo scrive una volta. Un documento di valori piccoli con nomi di campo lunghi si colloca a due-tre volte la dimensione del file da cui proviene.
Su un caricamento SFTP è irrilevante. Su una coda di messaggi con un limite di dimensione decide quanti record entrano in un lotto. La risposta è quasi sempre la compressione piuttosto che la ristrutturazione: questo tipo di XML è estremamente ripetitivo e comprime molto bene.
La conversione gira in questa scheda del browser: il file viene analizzato riga per riga e il documento scritto da un piccolo scrittore nella pagina. Niente viene caricato, non c’è account né coda, e il livello gratuito accetta fino a 100 MB.
I dati che finiscono su questo percorso sono raramente banali. Le consegne a enti regolatori, banche, assicuratori e partner sono esattamente i file con una clausola di riservatezza allegata, e far girare la conversione attraverso un servizio web sconosciuto sarebbe una seconda divulgazione che nessuno ha accettato.
| NDJSON | XML | |
|---|---|---|
| Nome completo | Newline-Delimited JSON | Extensible Markup Language |
| Estensione del file | .ndjson, .jsonl | .xml |
| Tipo di media | application/x-ndjson | application/xml |
| Prima pubblicazione | 2013 | 1998 |
| Pubblicato da | — | W3C |
| Specifica | — | XML 1.0 |
| Licenza | Standard aperto | Standard aperto |
| Situazione attuale | Attuale | Attuale |
| Si apre nel browser | Nessun browser | Tutti i browser |
| Valutato al suo posto | JSON, CSV | JSON, YAML |
Non si scarta nulla. NDJSON e XML salvano il contenuto senza perdita: la conversione cambia la confezione, non la qualità, e si può ripetere senza che i danni si accumulino.
XML si apre in qualsiasi browser attuale. NDJSON raggiunge ancora meno browser. Se il file va su una pagina web o in un modulo, di solito è tutto il motivo della conversione.
I programmi di sempre non coincidono: NDJSON si apre in jq e pandas, XML in Visual Studio Code e oXygen XML Editor, quindi chi riceve il risultato ha bisogno di uno del secondo gruppo.
XML viene da W3C e risale al 1998, descritto in XML 1.0. Visual Studio Code e oXygen XML Editor lo leggono.
XML è stato pubblicato nel 1998 e NDJSON nel 2013. Il più vecchio è in genere il file più sicuro da consegnare; il più recente fa lo stesso lavoro con meno byte.
No. Questa conversione avviene interamente nel tuo browser, quindi il file non esce dal tuo dispositivo. Puoi controllarlo da solo: apri la scheda di rete degli strumenti per sviluppatori e converti qualcosa. Vedrai la pagina stessa e le richieste di statistica e di pubblicità con cui questo servizio si paga, e nemmeno una che porti il tuo file.
Sì. Senza account, senza filigrana e senza una quota giornaliera da consumare: gira sulla tua macchina, quindi puoi tornare quante volte vuoi. Il browser lavora file fino a 100 MB, 100 per volta.
No. XML conserva lo stesso contenuto senza buttare via niente: il risultato è identico in qualità all’originale.
Non si scarta nulla. NDJSON e XML salvano il contenuto senza perdita: la conversione cambia la confezione, non la qualità, e si può ripetere senza che i danni si accumulino.