logo
GeekFormat

Compressione JSON

Strumento gratuito di compressione JSON online, supporta compressione compatta JSON a riga singola, Escape/Unescape JSON, con riparazione sintattica intelligente che gestisce automaticamente virgole finali e altri errori comuni, mostra tasso di compressione in tempo reale, editor CodeMirror con scorciatoie da tastiera, elaborazione puramente frontend.

Raccomandazioni correlate

Casi d'uso

  • Comprimere corpi di richiesta/risposta JSON nello sviluppo API per ridurre i byte di trasmissione HTTP e migliorare la velocità di risposta dell'interfaccia (specialmente in ambienti mobili con rete debole)
  • Semplificare i file di configurazione JSON frontend, i pacchetti lingua i18n e i dati Mock prima del rilascio, riducendo le dimensioni delle risorse statiche
  • Escapare oggetti JSON in letterali stringa nel codice di test unitari, comandi Postman/curl per l'incorporamento nel codice
  • Unescape con un clic di JSON escapato copiato dai log (come \"key\":\"value\") in JSON leggibile
  • Riparare in batch file JSON con errori di sintassi come virgole finali e apici singoli, convertendoli in JSON valido con un clic
  • Comprimere JSON formattato in riga singola e incollarlo in parametri di comando a riga singola o strumenti di chat per condividere

Funzionalità

  • Funzione tre in uno: compressione compatta JSON + Escape + Unescape, coprendo tre scenari: riduzione dimensioni, incorporamento in stringhe di codice e ripristino di stringhe escapate
  • Riparazione sintattica intelligente: motore tryFixJSON integrato che rileva e ripara automaticamente virgole finali, apici singoli, commenti, virgolette non chiuse e altri errori JSON comuni
  • Editor CodeMirror: layout a doppio pannello con input a sinistra e risultati a destra, supporta evidenziazione sintassi JSON, barra di divisione trascinabile e regolazione dimensione carattere
  • Statistiche di compressione in tempo reale: la barra di stato mostra istantaneamente la dimensione originale (Bytes/KB/MB), dimensione compressa e percentuale esatta del tasso di compressione
  • Scorciatoie da tastiera: Shift+Cmd/Ctrl+C comprimi, E escape, U unescape, O carica, D scarica, K cancella, efficiente senza mouse
  • Modalità esecuzione automatica: dopo incolla o modifica, comprime/escapa automaticamente con debounce di 400 ms, WYSIWYG
  • Upload e download file: supporta trascinamento o clic per caricare file .json/.txt e scaricare output.json con un clic dopo l'elaborazione
  • Memoria cronologica locale: localStorage salva automaticamente l'ultimo contenuto di input, non si perde aggiornando la pagina
  • Dati di esempio: carica JSON di esempio con un clic per provare rapidamente, gli avvisi di errore includono il pulsante di riparazione
  • Sicurezza puramente frontend: tutta l'elaborazione viene eseguita nel browser locale, i dati non vengono caricati sul server, funziona offline

Come utilizzare

  1. Incolla il contenuto JSON nell'editor sinistro o clicca sul pulsante di upload per selezionare un file .json/.txt locale; puoi anche cliccare sul pulsante «Esempio» per caricare un esempio
  2. Per impostazione predefinita la modalità di compressione viene eseguita automaticamente (debounce di 400 ms); puoi anche cliccare manualmente sul pulsante «Comprimi» o premere la scorciatoia Shift+Cmd/Ctrl+C
  3. Quando hai bisogno di escapare in stringa di codice, premi Shift+Cmd/Ctrl+E o passa alla modalità Escape; quando hai bisogno di ripristinare una stringa escapata, premi Shift+Cmd/Ctrl+U
  4. Se il JSON ha errori di sintassi, verrà visualizzato un avviso di errore rosso in basso; quando ci sono errori riparabili apparirà un pulsante «Tenta riparazione», clicca per correggere automaticamente
  5. La barra di stato inferiore mostra in tempo reale i byte prima/dopo la compressione e la percentuale del tasso di compressione; dopo aver confermato il risultato, clicca sul pulsante «Copia» o «Scarica»
  6. La barra di divisione tra i pannelli sinistro e destro può essere trascinata per regolare la larghezza; puoi anche usare le scorciatoie da tastiera per eseguire rapidamente tutte le operazioni

Domande frequenti

Qual è la differenza tra compressione JSON e formattazione JSON?

La formattazione JSON (Beautify) aggiunge indentazione, righe e spazi tra le coppie chiave-valore per facilitare la lettura umana, adatta allo sviluppo e al debug; la compressione JSON (Minify) rimuove tutti i caratteri di spazio non necessari (spazi, righe, tabulazioni, indentazione), convertendo JSON multi-riga in un formato compatto a riga singola, con l'obiettivo di ridurre le dimensioni e migliorare l'efficienza di trasmissione, adatta alla trasmissione API in produzione, file di configurazione compatti e incorporamento in stringhe di codice. Entrambe sono operazioni complementari: si usa la versione formattata durante lo sviluppo e la versione compressa in produzione.

Cos'è l'escape JSON (Escape)? Quando è necessario usarlo?

L'escape JSON consiste nell'aggiungere barre inverse di escape ai caratteri speciali nelle stringhe JSON (principalmente convertendo le virgolette doppie " in \", le barre inverse \ in \\, le righe in \n, ecc.), trasformando oggetti JSON multi-riga in un letterale stringa a riga singola che può essere incorporato direttamente nel codice sorgente di JavaScript, Java, Python, ecc. Scenari tipici: incorporare risposte JSON come stringhe nel codice di test durante la scrittura di test unitari; passare stringhe JSON nei comandi Postman o curl; usare JSON come valore stringa nei file di configurazione. Unescape ripristina la stringa escapata in JSON standard.

Se il JSON di input ha errori di sintassi (come virgola finale), può essere compresso con successo?

Sì. Questo strumento include un motore di riparazione sintattica intelligente (tryFixJSON) che rileva automaticamente e tenta di riparare gli errori JSON comuni prima della compressione: 1) virgole superflue alla fine (trailing comma), come {"a":1,}; 2) apici singoli invece di virgolette doppie, come {'a':1}; 3) stringhe non chiuse; 4) commenti JavaScript (// e /* */); 5) virgole superflue alla fine, ecc. Dopo la riparazione, la compressione o l'escape viene eseguito per garantire che l'output sia JSON valido al 100%. Se vengono rilevati errori riparabili, apparirà un pulsante «Tenta riparazione» sul pannello; clicca per correggere automaticamente.

La compressione JSON causa perdita di dati? Qual è il tasso di compressione abituale?

Nessuna perdita di dati. La compressione JSON rimuove solo i caratteri di spazio di formattazione (spazi, righe, tabulazioni), senza modificare nomi di chiavi, valori di chiavi, tipi di dati o strutture. Dopo JSON.parse e JSON.stringify, i dati sono completamente identici agli originali. Il tasso di compressione dipende dal grado di formattazione del JSON originale: se il JSON originale era formattato con indentazione a 2 spazi, il tasso di compressione è generalmente del 20%-40% (rimuovendo indentazione e righe); se ci sono molti spazi consecutivi o commenti (dopo la riparazione), il tasso di compressione può superare il 50%. La barra di stato mostra in tempo reale il numero di byte originali, i byte compressi e il tasso di compressione esatto.

I dati vengono divulgati durante la compressione di configurazioni JSON sensibili o dati API?

No. Questo strumento adotta un'architettura di elaborazione puramente frontend. Tutta l'analisi, compressione, escape e riparazione JSON viene eseguita interamente nel motore JavaScript del tuo browser locale. I dati non vengono caricati su server esterni tramite alcuna richiesta di rete e lo strumento può essere utilizzato anche offline. La tua chiave API, configurazione del database, dati aziendali e altre informazioni sensibili rimangono sempre locali.

Quali scorciatoie da tastiera sono supportate?

Per migliorare l'efficienza, questo strumento offre supporto completo per le scorciatoie da tastiera (macOS usa ⌘+Shift, Windows usa Ctrl+Shift): Shift+⌘/Ctrl+C comprimi con un clic; Shift+⌘/Ctrl+E escape; Shift+⌘/Ctrl+U unescape; Shift+⌘/Ctrl+O carica file; Shift+⌘/Ctrl+D scarica risultato; Shift+⌘/Ctrl+K cancella. Durante la digitazione, lo strumento esegue anche automaticamente la modalità corrente con debounce di 400 ms, senza dover fare clic ripetutamente sui pulsanti.

Cos'è la compressione JSON (JSON Minify)?

La compressione JSON (JSON Minification) è il processo di rimozione di tutti i caratteri di spazio non necessari (spazi, righe \n, tabulazioni \t, ritorni a capo \r) e commenti (non standard ma comuni) dal testo JSON, convertendo JSON formattato con indentazione multilivello in un formato compatto a riga singola. La compressione JSON non modifica alcun contenuto di dati: nomi di chiavi, valori di chiavi, tipi di dati (stringa/numero/booleano/null/array/oggetto) e struttura annidata rimangono completamente intatti; vengono rimossi solo gli spazi di formattazione per la lettura umana.

Il valore centrale della compressione JSON è la riduzione del volume di dati. Gli spazi di indentazione e le righe nel JSON formattato, sebbene siano utili per gli sviluppatori, sono byte ridondanti durante la trasmissione e l'archiviazione in rete. Ad esempio, una tipica risposta API può essere di 2 KB formattata e solo 1,2-1,5 KB compressa, una riduzione delle dimensioni del 25%-40%. In scenari API ad alta concorrenza, ambienti mobili con rete debole e distribuzione massiva di file di configurazione, la compressione JSON può ridurre significativamente il consumo di larghezza di banda, migliorare la velocità di trasmissione e ridurre il carico del server. In produzione viene generalmente utilizzata insieme alla compressione HTTP come Gzip/Brotli, ma JSON Minify come compressione a livello di contenuto rimane insostituibile.

L'implementazione della compressione JSON è molto semplice: usa JSON.parse() per analizzare il testo in un oggetto JavaScript, quindi usa JSON.stringify(obj) senza parametro di indentazione per serializzare l'output: questa è precisamente l'implementazione centrale di questo strumento. Questo metodo parse + stringify garantisce naturalmente che il JSON di output sia valido al 100% e può anche rimuovere automaticamente commenti illegali e virgole finali (insieme alla riparazione degli errori). Importante notare: la compressione JSON e la compressione Gzip sono ottimizzazioni di livelli diversi: JSON Minify rimuove gli spazi ridondanti a livello di contenuto, Gzip è un algoritmo di compressione generale a livello di trasmissione, ed entrambi possono essere utilizzati in combinazione.

术语表

JSON
JavaScript Object Notation, un formato leggero di scambio dati che utilizza coppie chiave-valore e strutture array, leggibile dall'uomo e facile da analizzare dalle macchine, è il formato dati standard per le REST API.
Minify / Compressione
Processo di rimozione di tutti i caratteri non necessari (spazi, righe, commenti) dal codice/dati per ridurre le dimensioni, comune nelle risorse frontend come JS/CSS/JSON.
Beautify / Formattazione
Operazione inversa di Minify, aggiunge indentazione, righe e spazi per rendere la struttura JSON chiara e leggibile, chiamata anche Prettify o Pretty Print.
Escape
Aggiungere barre inverse prima dei caratteri speciali (come " che diventa \", riga che diventa \n), convertendo JSON multi-riga in un letterale stringa a riga singola incorporabile nel codice.
Unescape
Operazione inversa di Escape, ripristina le sequenze di escape come \", \n, \\ ai caratteri originali, ripristinando il formato JSON standard.
Trailing Comma
Virgola superflua dopo l'ultimo elemento di un oggetto o array; JavaScript la consente ma lo standard JSON no, è l'errore di sintassi JSON più comune.
Gzip / Brotli
Algoritmi di compressione generale a livello di trasmissione HTTP, complementari a JSON Minify; l'effetto migliore si ottiene comprimendo con Gzip dopo Minify.
Payload
Il corpo dati effettivo trasmesso in una richiesta o risposta API (generalmente in formato JSON); comprimere il Payload riduce direttamente il consumo di larghezza di banda.
CodeMirror
Componente editor di codice lato browser; questo strumento lo utilizza per l'evidenziazione della sintassi JSON, numeri di riga, corrispondenza delle parentesi e un'esperienza di editing professionale.

Confronto tra compressione JSON e metodi di compressione comuni

Metodo di compressioneLivello di compressioneSenza perditaLeggibilitàScenario di applicazione
JSON MinifyLivello contenuto (rimozione spazi)Senza perditaIlleggibile (riga singola)Trasmissione API produzione, configurazione compatta
JSON BeautifyLivello contenuto (aggiunta spazi)Senza perditaAlta leggibilitàSviluppo e debug, lettura umana
GzipLivello trasmissioneSenza perditaIlleggibile (binario)Content-Encoding risposte HTTP
BrotliLivello trasmissioneSenza perditaIlleggibile (binario)Compressione risorse statiche HTTPS (20% meglio di Gzip)
MessagePackLivello serializzazioneSenza perditaIlleggibile (binario)Comunicazione interna RPC alte prestazioni

Tabella caratteri speciali escape JSON

Carattere originaleDopo escapeNomeDescrizione
"\"Virgolette doppieIl carattere più comune che deve essere escapato nelle stringhe JSON
\\\Barra inversaIl carattere di escape stesso deve essere escapato
Riga\nNewlineDeve essere escapato quando si comprimono stringhe multi-riga in riga singola
Tabulazione\tTabEscape tabulazione indentazione
Ritorno a capo\rCarriage ReturnCR nel ritorno a capo CRLF di Windows
/\/BarraLo standard JSON consente ma non obbliga l'escape (opzionale)

Authoritative References