Convertire righe in un array JSON con escape corretto
Incolli cinque righe, tra cui un percorso di Windows e una frase con virgolette, e ottenga un array valido di 5 valori: C:\data\file.txt esce come "C:\\data\\file.txt", senza nulla da sistemare a mano. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Testo
- alpha A quoted "value" C:\data\file.txt last
- Valori
- alpha, A quoted "value", C:\data\file.txt, , last
- Numero di righe
- 5
Accetta terminatori Unix, Windows e Mac classico, conserva gli spazi nei valori e mantiene le righe vuote intenzionali. Un solo a capo finale indica la conclusione naturale del testo e non genera un ulteriore elemento vuoto.
Incolli un valore testuale per ogni riga
Parta da testo normale in cui ogni riga rappresenta un valore. Sono adatti una lista della spesa, flag di funzionalità, nomi di file copiati dal terminale, etichette di un foglio di calcolo o identificatori ricevuti via email. Il convertitore non divide in corrispondenza di virgole, punti e virgola o spazi, quindi la punteggiatura interna resta nel valore.
Non elimina nemmeno gli spazi iniziali o finali, perché possono essere significativi nei test, nei dati a larghezza fissa e nelle etichette esatte. I separatori LF di Unix, CRLF di Windows e CR del Mac classico producono lo stesso risultato. Le righe vuote interne diventano stringhe vuote.
Se il testo termina con un a capo, l’ultimo separatore viene ignorato per evitare un elemento vuoto inatteso. Occorre inviare almeno un carattere; un input completamente vuoto viene rifiutato anziché creare silenziosamente un valore inventato.
Controlli i confini prima di usare l’array
Verifichi l’output quando la fonte è un foglio di calcolo, un terminale o un editor, perché lo strumento conserva il contenuto invece di indovinare l’intenzione. Spazi apparentemente innocui possono creare stringhe distinte e una riga vuota interna diventa volutamente una stringa vuota. Al contrario, un a capo finale chiude soltanto il documento.
Questa regola stabile evita cambi di tipo accidentali.
Casi d'uso
Creare un elenco di configurazione
Incolli ambienti, flag o valori consentiti e ottenga un array valido per un file di configurazione.
Domande frequenti
Quanto costa?
La versione nel browser funziona localmente e gratuitamente.
Cosa accade alle righe vuote?
Le righe vuote interne diventano stringhe vuote. Un a capo finale viene ignorato per non aggiungere un valore fantasma.
Gli spazi di ogni riga vengono rimossi?
No. Gli spazi iniziali e finali restano intatti perché possono appartenere al valore desiderato.
Che cosa succede a virgolette e barre rovesciate dentro una riga?
Vengono protette secondo le regole standard: una virgoletta doppia riceve una barra rovesciata davanti, una barra rovesciata viene raddoppiata e tabulazioni o altri caratteri di controllo diventano sequenze valide. Così A quoted "value" resta un unico valore valido.
Un a capo alla fine aggiunge un valore vuoto?
No. Un solo a capo finale è considerato la fine naturale del testo incollato, quindi l'a capo che gli editor aggiungono di solito non crea un valore vuoto inatteso. Le righe vuote in mezzo diventano invece valori vuoti.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/str/lines-to-json-array \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"alpha\nA quoted \"value\"\nC:\\data\\file.txt"}'const res = await fetch("https://api.kit.forhosting.com/str/lines-to-json-array", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "alpha\nA quoted \"value\"\nC:\\data\\file.txt"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/lines-to-json-array",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "alpha\nA quoted \"value\"\nC:\\data\\file.txt"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/lines-to-json-array", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"alpha\\nA quoted \\"value\\"\\nC:\\\\data\\\\file.txt"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"alpha\nA quoted \"value\"\nC:\\data\\file.txt"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/lines-to-json-array", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"text": "alpha\nA quoted \"value\"\nC:\\data\\file.txt"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.lines_to_json_array",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Trasformi un elenco incollato in un array JSON valido senza correggere manualmente virgolette o barre inverse. Il convertitore considera ogni riga una stringa, applica l’escape JSON e restituisce il risultato pronto per il codice, i valori interpretati e il conteggio delle righe.
Lasci che l’escape JSON protegga i dati
La differenza conta quando il testo include doppi apici, barre inverse, tabulazioni o altri caratteri di controllo. Poiché non vengono usati servizi esterni, lo stesso input genera sempre esattamente lo stesso output. Ogni riga viene serializzata secondo le regole standard delle stringhe JSON, non semplicemente racchiusa tra virgolette con una sostituzione elementare. Le virgolette ricevono una barra, le barre letterali vengono raddoppiate e i controlli usano sequenze JSON valide.
Controlli i confini prima di usare l’array
Per rimuovere spazi, escludere elementi vuoti, eliminare duplicati, ordinare o interpretare numeri e booleani come primitive JSON, esegua tali trasformazioni esplicitamente prima o dopo. Ogni membro prodotto è una stringa: una riga `42` diventa `"42"`, non il numero 42, mentre `true` resta testo. Nell’automazione confronti `line_count` con i record previsti e utilizzi `values`; per copiare e incollare usi direttamente il testo formattato in `result`.
Casi di integrazione
Preparare dati per un’API
Converta identificatori copiati da un report in un array JSON pronto per il corpo di una richiesta.
Creare fixture affidabili
Trasformi file, etichette e casi limite in dati deterministici preservando spazi e vuoti significativi.
Domande tecniche
Numeri e booleani diventano primitive JSON?
No. Ogni riga diventa una stringa JSON; `42`, `true` e `null` restano valori testuali tra virgolette.
Come vengono gestite virgolette e barre inverse?
La serializzazione JSON standard applica l’escape corretto anche a tabulazioni e altri caratteri di controllo.