Guida agli strumenti JSON: convertire documenti e dati in JSON e viceversa
Questa guida spiega come gli strumenti JSON leggono e scrivono i file, il formato documento comune a PDF e Word in JSON e quale strumento scegliere.
Perché JSON
JSON è il formato di dati che programmi, servizi web e modelli di IA leggono con più facilità: oggetti con campi con nome, elenchi, numeri, testo, true, false e null, nient'altro. Documenti e foglietti di calcolo non sono memorizzati in questo modo. Gli strumenti di questa famiglia colmano il divario in entrambe le direzioni: trasformano PDF, file Word, foglietti di calcolo, CSV, YAML e XML in JSON, e trasformano JSON di nuovo in file che le persone leggono, come PDF, Word, Excel, CSV e HTML.
Ogni strumento viene eseguito sui nostri server tramite una connessione sicura ed elimina il file caricato entro 60 minuti. Il testo può essere incollato direttamente invece di essere caricato come file.
Quale strumento per quale attività
| Hai | Vuoi | Usa |
|---|---|---|
| Un PDF | Testo, tabelle e metadati come dati | PDF in JSON |
| Un documento Word | Titoli, paragrafi, elenchi e tabelle come dati | Word in JSON |
| Una cartella di lavoro Excel | Record, righe o colonne | Excel in JSON |
| Un file CSV o TSV | Un array JSON con valori tipizzati | CSV in JSON |
| Un file YAML | Gli stessi dati come JSON | YAML in JSON |
| Un file XML | Oggetti, attributi e array | XML in JSON |
| JSON | Un PDF da leggere o stampare | JSON in PDF |
| JSON | Una cartella di lavoro Excel | JSON in Excel |
| JSON | Un file CSV | JSON in CSV |
| JSON | Un documento Word modificabile | JSON in Word |
| JSON | Una pagina web | JSON in HTML |
| JSON | YAML per un file di configurazione | JSON in YAML |
| JSON | XML per un altro sistema | JSON in XML |
| JSON disordinato o non valido | JSON pulito e valido | Formattatore JSON |
| Due file JSON | Un elenco di ciò che è cambiato | Confronta JSON |
Markdown ha la sua coppia: Markdown in JSON esporta un albero del documento e JSON in Markdown trasforma JSON in una struttura a indice o in una tabella Markdown.
Il formato documento
PDF in JSON e Word in JSON scrivono la stessa forma, così un unico codice gestisce entrambi. Il livello superiore ha sempre questi campi:
{
"format": "acepdfmd-document",
"version": 1,
"source": {"type": "pdf", "filename": "report.pdf", "title": "Q3 Report", "pages": 12},
"pages": [{"number": 1, "width": 612, "height": 792, "words": 380, "text": "..."}],
"blocks": [
{"type": "heading", "level": 1, "text": "Q3 Report"},
{"type": "paragraph", "text": "Revenue grew..."},
{"type": "list", "ordered": false, "items": [{"level": 0, "text": "Europe"}]},
{"type": "table", "header": ["Region", "Q3"], "rows": [["Europe", 1200.5]]}
],
"tables": [{"index": 1, "page": 3, "rows": [["Region", "Q3"], ["Europe", 1200.5]]}],
"form_fields": [{"name": "email", "type": "text", "value": "[email protected]"}],
"extraction": {"engine": "pdf_to_markdown/layout", "mode": "structure", "ocr": false, "warnings": []}
}
I campi hanno il seguente significato:
- source: cos'era il file, con i metadati che portava (titolo, autore, oggetto, parole chiave, date di creazione e modifica, numero di pagine). I file Word aggiungono il numero di parole, tabelle e immagini.
- pages: una voce per ogni pagina del PDF con le sue dimensioni in punti, la rotazione, un conteggio delle parole e il suo testo. I file Word non hanno pagine, perché Word impagina solo quando stampa.
- blocks: il documento nell'ordine di lettura. I tipi sono heading (con livello da 1 a 6), paragraph (con un nome di stile opzionale da Word), list (ordinato o non, con elementi che hanno un livello di nidificazione), table (intestazione più righe tipizzate), code, blockquote, rule e image.
- tables: per i PDF, ogni tabella rilevata con la pagina in cui è stata trovata e, per una tabella che continua, la pagina in cui termina. Le celle che sembrano numeri sono numeri.
- form_fields: presente solo quando il PDF ha un modulo. Ogni campo ha il suo nome, il tipo (text, choice, button o signature) e il valore attuale.
- extraction: quale convertitore è stato eseguito, la modalità scelta, se è stato necessario l'OCR e qualsiasi avviso, ad esempio una tabella che non è stato possibile rilevare.
La versione 1 di questo formato guadagna solo nuovi campi; i campi esistenti mantengono i loro nomi e il loro significato.
Dati tabellari e nidificazione
CSV ed Excel sono piatti, JSON non lo è. Quando JSON passa a CSV o Excel, gli oggetti annidati vengono appiattiti in nomi di colonna con notazione a punti e gli array in nomi indicizzati, così un record d'ordine con un oggetto customer e un array items diventa colonne come customer.name, items[0].sku e items[1].sku. Quando CSV o Excel torna a JSON, le intestazioni scritte in questo modo vengono ricostruite in oggetti e array annidati. Un'intestazione con un punto ordinario, come un numero di versione o un'abbreviazione, viene lasciata così com'è.
I valori sono tipizzati in ingresso: i numeri diventano numeri, true e false diventano booleani, una cella vuota diventa null, e tutto il resto resta una stringa. Le date provenienti da Excel vengono scritte come stringhe ISO 8601, perché JSON non ha un tipo data. Imposta l'opzione dei tipi di valore su testo quando gli identificatori con zeri iniziali devono restare esattamente come scritti.
Validazione e riparazione
Ogni strumento JSON valida il suo input nello stesso modo. Un file non valido viene rifiutato con la riga e la colonna del primo errore, e un breve estratto di quella riga. Il Formattatore JSON può anche riparare gli errori che le persone incollano più spesso: commenti, virgole finali, stringhe tra apici singoli, chiavi senza virgolette, True, False e None con la maiuscola, NaN e Infinity, e blocchi di codice attorno al testo. Quando è stata applicata una riparazione, il risultato te lo indica, così nulla cambia silenziosamente senza che tu lo sappia.
Privacy
I file caricati e il testo incollato vengono elaborati sui nostri server ed eliminati entro 60 minuti; consulta la guida sulla privacy per i dettagli. Nulla viene conservato oltre quel tempo e nulla viene usato per qualsiasi altro scopo.