Convertire NDJSON in INI

Qui converti NDJSON in INI 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.

  • Dove gira Nel tuo browser. Il file non viene mai caricato.
  • Ricostruito INI funziona in modo diverso da NDJSON. Non è quindi il degrado graduale di un codec con perdita: quello che INI sa esprimere viene riprodotto fedelmente, e quello che lì non ha un equivalente non sopravvive affatto.
  • Limite di dimensione Fino a 100 MB per file, gratis e senza account.
  • Vale la pena saperlo L’INI non prevede annidamento. Tutto quello che sta sotto un livello viene appiattito in chiavi separate da punti.

Fino a 100 file alla volta. Formati diversi insieme non sono un problema.

L’INI non ha un concetto di lista, e l’NDJSON non è altro che una lista

Il disallineamento è totale e vale la pena dirlo subito. Un file INI è un insieme di sezioni con nome, ognuna con righe chiave-valore piatte — la descrizione di una cosa sola, di solito una configurazione applicativa. Un file JSON delimitato da nuove righe è una sequenza di record senza nome, senza un ordine che significhi qualcosa e senza lunghezza fissa.

Non esiste una rappresentazione che soddisfi entrambi. Ciò che fa la conversione è usare l’unico nome che un record in una lista possiede, cioè il suo indice: la prima riga diventa [0], la seconda [1], e così via. È fedele, non perde nulla, e produce un file i cui nomi di sezione non portano alcun significato.

Le sezioni numerate sono un segnaposto, non una risposta

Se i record sono davvero diverse configurazioni — una per host, una per ambiente, una per cliente — allora rinominare [0] e [1] con i nomi che quelle cose hanno davvero trasforma l’uscita in un file utilizzabile, ed è tutto il lavoro. Le chiavi sotto sono già corrette.

Se i record sono dati piuttosto che configurazione, nessuna quantità di rinomina aiuta, e le sezioni numerate sono la conversione che ve lo dice. Cento sezioni chiamate come posizioni non sono un file di configurazione: sono una tabella scritta nella notazione sbagliata. CSV, JSON o un database sono quello che serve, e ognuno è a una conversione di distanza dalla stessa sorgente.

Un file con un solo record esce comunque numerato

Questo trae in inganno, quindi vale la pena essere espliciti. Un file con esattamente una riga è comunque una lista di uno, e l’uscita è una sezione [0] che contiene ogni campo di quel record. Non è l’INI pulito che otterreste dallo stesso oggetto da solo.

La correzione è cambiare il formato della sorgente piuttosto che modificare l’uscita. Salvate quella singola riga con estensione .json e convertite JSON in INI invece: lì le chiavi di primo livello del record diventano le intestazioni di sezione, i valori semplici vengono scritti sopra di esse, e il file assomiglia a qualcosa scritto da una persona.

L’unico livello di raggruppamento è già speso

L’INI supporta le sezioni e niente dentro le sezioni. Su questa coppia quell’unico livello viene consumato dall’indice del record, quindi ogni campo di un record — compresa qualunque annidatura avesse — deve vivere nel nome della chiave.

Un record con un oggetto server contenente una porta produce una riga che legge server.port dentro la sezione numerata. Nulla viene scartato e il percorso viene conservato, ma due record con la stessa struttura annidata ora non condividono nulla strutturalmente: sono due sezioni le cui chiavi capitano a essere scritte allo stesso modo.

Gli array diventano chiavi numerate dentro una sezione numerata

Un record che porta un elenco di host consentiti produce chiavi chiamate 0, 1 e 2 sotto il percorso di quel campo. Combinato con le sezioni numerate, un’uscita può finire con una riga che legge hosts.0 dentro una sezione chiamata [2], leggibile e poco elegante.

I lettori INI che supportano affatto le liste di solito si aspettano una singola riga con valori separati da virgola, e alcuni si aspettano la stessa chiave ripetuta. Nessuno dei due è ciò che produce questa conversione. Se l’applicazione ha una convenzione, unire l’array in una singola stringa nella sorgente prima di convertire produce una riga che il lettore legge nativamente.

I valori sono scritti in chiaro, con i null come voci vuote

Un true JSON viene scritto come true, un numero come le sue cifre, un null come la chiave senza nulla dopo il segno di uguale, e una stringa esattamente come era. Le virgolette appaiono solo dove il valore non tornerebbe altrimenti nel modo in cui è entrato: attorno a un valore con uno spazio a un’estremità, uno che inizia e finisce già con una virgoletta, e uno che contiene un ritorno a capo.

Un ritorno a capo dentro un valore è il caso che vale la pena nominare, perché una voce INI è una riga. Viene scritto come una barra rovesciata seguita da una n dentro le virgolette invece che come un’interruzione reale, ciò che impedisce al testo successivo di diventare righe sciolte — o, quando una di esse assomiglia a un’intestazione fra parentesi quadre, una sezione che non apparteneva a nessun record.

I commenti sono la ragione per cui il file esiste, e parte senza nessuno

L’INI supporta i commenti — una riga che inizia con un punto e virgola o un cancelletto — e il lettore di questo sito li rispetta anche nella direzione opposta. Il JSON no, quindi il file convertito arriva senza alcuno.

Dato che la ragione per produrre affatto un INI è quasi sempre che una persona lo leggerà o modificherà, scrivere quelle righe è la prima modifica utile. Quali sezioni sono specifiche per ambiente, quale valore deve corrispondere a qualcosa altrove, e quale l’applicazione ignora: nulla di tutto ciò poteva essere portato dalla sorgente ed è esattamente ciò per cui esiste il formato di destinazione.

I tipi tornano come testo e decide chi legge

Ogni valore in un file INI è testo. Se 8080 è un numero, se true è un booleano e se 007 mantiene i suoi zeri lo decide qualunque cosa legga il file — Python configparser lo rende esplicito con getint e getboolean, e accetta anche yes, on e 1 come vero.

È una perdita rispetto alla sorgente, dove i tipi erano registrati. Di solito non è un problema, perché un’applicazione che legge INI già sa cosa aspettarsi da ogni impostazione. Dove conta davvero sono gli identificativi con zeri iniziali, e la correzione vive nel codice di lettura piuttosto che nel file.

Quando fermarsi e scegliere un’altra destinazione

La regola onesta per questa coppia: se l’uscita ha più di una manciata di sezioni numerate e non potete dare a ognuna un nome vero, la conversione ha risposto a una domanda diversa da quella che avete posto. L’INI descrive una cosa sola; una lista di record non è una cosa sola.

Le alternative dallo stesso file sono tutte a un clic e tutte migliori per quel caso. CSV o un foglio di calcolo se una persona guarderà i record, SQL o Parquet se una macchina li interrogherà, TOML se ciò che volevate davvero era una lista di record in un file di configurazione, dato che ha un costrutto array-di-tabelle che l’INI semplicemente non ha.

Il file resta sulla vostra macchina

La conversione è JavaScript ordinario in questa scheda del browser. Niente viene caricato, non c’è account o coda, e il livello gratuito accetta fino a 100 MB — un limite che nessun file di configurazione ha mai raggiunto.

Conta più di quanto suggerisca la dimensione del file. I dump di impostazioni portano stringhe di connessione, endpoint API, nomi host interni e, più spesso di quanto qualcuno ammetta, una credenziale che doveva essere una variabile d’ambiente. Inviarne uno a un convertitore sull’infrastruttura di qualcun altro per togliergli le parentesi graffe sarebbe un pessimo affare a qualsiasi prezzo.

Come convertire NDJSON in INI

  1. Trascina il tuo file NDJSON su questa pagina, oppure fai clic per sceglierne uno.
  2. Scegli INI come destinazione. La conversione avviene nel tuo browser e il file non viene caricato.
  3. Scarica il file INI finito.

NDJSON o INI: cosa cambia

NDJSON a confronto con INI
NDJSONINI
Nome completoNewline-Delimited JSONConfigurazione INI
Estensione del file.ndjson, .jsonl.ini, .cfg, .conf
Tipo di mediaapplication/x-ndjsontext/plain
Prima pubblicazione20131985
LicenzaStandard apertoStandard aperto
Situazione attualeAttualeVecchio, ancora letto ovunque
Si apre nel browserNessun browserNessun browser
Valutato al suo postoJSON, CSVTOML, YAML

Aprire il risultato

I programmi di sempre non coincidono: NDJSON si apre in jq e pandas, INI in Notepad e Visual Studio Code, quindi chi riceve il risultato ha bisogno di uno del secondo gruppo.

A che cosa serve ciascun formato

I due puntano a lavori diversi: NDJSON a spostare dati fra programmi e lo streaming, INI a la modifica. Vale la pena valutarlo prima, perché il motivo per cui esiste uno è di solito il motivo per cui l'altro risulta scomodo.

INI risale al 1985. Notepad e Visual Studio Code lo leggono.

INI è stato pubblicato nel 1985 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.

Da NDJSON a INI: domande frequenti

Il mio file NDJSON viene caricato da qualche parte?

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.

Convertire NDJSON in INI è gratis?

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.

Si perde qualità convertendo NDJSON in INI?

NDJSON e INI descrivono il contenuto in modi radicalmente diversi. La conversione è quindi una ricostruzione e non una copia: fedele, ma non identica byte per byte. L’INI non prevede annidamento. Tutto quello che sta sotto un livello viene appiattito in chiavi separate da punti.

Devo installare qualcosa per aprire un file INI?

Per la conversione no: avviene nel browser che hai già aperto. Per aprire il risultato ti serve poi il programma con cui il tuo dispositivo mostra di solito INI Configuration.

Altro su questi formati