Ghidul instrumentelor JSON: convertiți documente și date în JSON și înapoi
Acest ghid explică modul în care instrumentele JSON convertesc documente și date, și ce instrument să folosiți pentru fiecare sarcină.
De ce JSON
JSON este formatul de date pe care programele, serviciile web și modelele de inteligență artificială îl citesc cel mai facil: obiecte cu câmpuri denumite, liste, numere, text, true, false și null, nimic altceva. Documentele și foile de calcul nu sunt stocate așa. Instrumentele din această familie fac legătura în ambele direcții: transformă fișiere PDF, Word, foi de calcul, CSV, YAML și XML în JSON, și transformă JSON înapoi în fișiere pe care oamenii le citesc, precum PDF, Word, Excel, CSV și HTML.
Fiecare instrument funcționează pe serverele noastre printr-o conexiune securizată și șterge fișierul încărcat în 60 de minute. Textul poate fi lipit direct, în loc să fie încărcat.
Ce instrument pentru ce sarcină
| Aveți | Doriți | Folosiți |
|---|---|---|
| Un PDF | Text, tabele și metadate ca date | PDF în JSON |
| Un document Word | Titluri, paragrafe, liste și tabele ca date | Word în JSON |
| Un registru Excel | Înregistrări, rânduri sau coloane | Excel în JSON |
| Un fișier CSV sau TSV | Un vector JSON cu valori tipizate | CSV în JSON |
| Un fișier YAML | Aceleași date ca JSON | YAML în JSON |
| Un fișier XML | Obiecte, atribute și vectori | XML în JSON |
| JSON | Un PDF de citit sau imprimat | JSON în PDF |
| JSON | Un registru Excel | JSON în Excel |
| JSON | Un fișier CSV | JSON în CSV |
| JSON | Un document Word editabil | JSON în Word |
| JSON | O pagină web | JSON în HTML |
| JSON | YAML pentru un fișier de configurare | JSON în YAML |
| JSON | XML pentru alt sistem | JSON în XML |
| JSON dezordonat sau nevalid | JSON curat și valid | Formatator JSON |
| Două fișiere JSON | O listă a ceea ce s-a schimbat | Comparare JSON |
Markdown are propria pereche: Markdown în JSON exportă un arbore al documentului, iar JSON în Markdown transformă JSON într-un plan sau tabel Markdown.
Formatul de document
PDF în JSON și Word în JSON scriu aceeași formă, astfel încât o singură bucată de cod le gestionează pe ambele. Nivelul superior are întotdeauna aceste câmpuri:
{
"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": []}
}
Câmpurile înseamnă următoarele:
- source: ce a fost fișierul, cu metadatele pe care le avea (titlu, autor, subiect, cuvinte-cheie, date de creare și modificare, numărul de pagini). Fișierele Word adaugă numărul de cuvinte, de tabele și de imagini.
- pages: o intrare per pagină PDF, cu dimensiunea sa în puncte, rotația sa, un număr de cuvinte și textul său. Fișierele Word nu au pagini, pentru că Word aranjează paginile doar la imprimare.
- blocks: documentul în ordinea citirii. Tipurile sunt heading (cu nivel de la 1 la 6), paragraph (cu un nume de stil opțional din Word), list (ordonată sau nu, cu elemente ce au un nivel de imbricare), table (antet plus rânduri tipizate), code, blockquote, rule și image.
- tables: pentru PDF-uri, fiecare tabel detectat, cu pagina pe care a fost găsit și, pentru un tabel care continuă, pagina pe care se termină. Celulele care par numere sunt numere.
- form_fields: prezent doar atunci când PDF-ul are un formular. Fiecare câmp are numele, tipul (text, choice, button sau signature) și valoarea curentă.
- extraction: care convertor a funcționat, modul ales, dacă a fost necesar OCR și orice avertismente, precum un tabel care nu a putut fi detectat.
Versiunea 1 a acestui format doar câștigă câmpuri; câmpurile existente își păstrează numele și semnificația.
Date tabelare și imbricare
CSV și Excel sunt plate, JSON nu este. Când JSON trece la CSV sau Excel, obiectele imbricate sunt aplatizate în nume de coloană cu puncte, iar vectorii în coloane indexate, astfel încât o înregistrare de comandă cu un obiect client și un vector de articole devine coloane precum customer.name, items[0].sku și items[1].sku. Când CSV sau Excel se întoarce la JSON, antetele scrise astfel sunt reconstruite în obiecte și vectori imbricați. Un antet cu un punct obișnuit în el, precum un număr de versiune sau o abreviere, este lăsat neschimbat.
Valorile sunt tipizate la intrare: numerele devin numere, true și false devin valori booleene, o celulă goală devine null, iar restul rămâne text. Datele calendaristice care provin din Excel sunt scrise ca șiruri ISO 8601, pentru că JSON nu are un tip de dată. Comutați opțiunea de tipuri de valori pe text atunci când identificatoarele cu zerouri la început trebuie să rămână exact așa cum sunt scrise.
Validare și reparare
Fiecare instrument JSON validează datele introduse în același mod. Un fișier nevalid este refuzat cu linia și coloana primei erori și un scurt fragment din acea linie. Formatator JSON poate, de asemenea, repara erorile pe care oamenii le lipesc cel mai des: comentarii, virgule în plus, șiruri între ghilimele simple, chei fără ghilimele, True, False și None scrise cu majusculă, NaN și Infinity, și blocuri de cod în jurul textului. Atunci când o reparație a fost aplicată, rezultatul vă spune, astfel încât nimic nu se schimbă în tăcere, în spatele dumneavoastră.
Confidențialitate
Fișierele încărcate și textul lipit sunt procesate pe serverele noastre și șterse în 60 de minute; consultați ghidul de confidențialitate pentru detalii. Nimic nu este stocat dincolo de acel interval și nimic nu este utilizat în alt scop.