Przewodnik po narzędziach JSON: konwersja dokumentów i danych do JSON i z powrotem
Przewodnik po tym, jak narzędzia JSON odczytują i zapisują pliki oraz którego narzędzia użyć do jakiego zadania.
Dlaczego JSON
JSON jest formatem danych, który programy, usługi internetowe i modele AI odczytują najłatwiej: obiekty z nazwanymi polami, listy, liczby, tekst, true, false i null, nic więcej. Dokumenty i arkusze kalkulacyjne nie są przechowywane w ten sposób. Narzędzia z tej rodziny łączą te dwa światy w obu kierunkach: zamieniają pliki PDF, Word, arkusze kalkulacyjne, CSV, YAML i XML na JSON, a JSON zamieniają z powrotem na pliki, które czytają ludzie, takie jak PDF, Word, Excel, CSV i HTML.
Każde narzędzie działa na naszych serwerach przez bezpieczne połączenie i usuwa wgrany plik w ciągu 60 minut. Tekst wejściowy można wkleić bezpośrednio, bez wgrywania pliku.
Które narzędzie do jakiego zadania
| Masz | Chcesz | Użyj |
|---|---|---|
| Tekst, tabele i metadane jako dane | PDF do JSON | |
| Dokument Word | Nagłówki, paragrafy, listy i tabele jako dane | Word do JSON |
| Skoroszyt Excel | Rekordy, wiersze albo kolumny | Excel do JSON |
| Plik CSV albo TSV | Tablicę JSON z typowanymi wartościami | CSV do JSON |
| Plik YAML | Te same dane jako JSON | YAML do JSON |
| Plik XML | Obiekty, atrybuty i tablice | XML do JSON |
| JSON | PDF do czytania albo wydruku | JSON do PDF |
| JSON | Skoroszyt Excel | JSON do Excel |
| JSON | Plik CSV | JSON do CSV |
| JSON | Edytowalny dokument Word | JSON do Word |
| JSON | Stronę internetową | JSON do HTML |
| JSON | YAML dla pliku konfiguracyjnego | JSON do YAML |
| JSON | XML dla innego systemu | JSON do XML |
| JSON, który jest bałaganem albo nieprawidłowy | Czysty, prawidłowy JSON | Formater JSON |
| Dwa pliki JSON | Listę tego, co się zmieniło | Porównaj JSON |
Markdown ma swoją własną parę: Markdown do JSON eksportuje drzewo dokumentu, a JSON do Markdown zamienia JSON na konspekt albo tabelę Markdown.
Format dokumentu
PDF do JSON i Word do JSON zapisują tę samą strukturę, dzięki czemu jeden kod obsługuje oba. Poziom najwyższy zawsze ma te pola:
{
"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": []}
}
Pola oznaczają następujące rzeczy:
- source: czym był plik, z metadanymi, które niósł (tytuł, autor, temat, słowa kluczowe, daty utworzenia i modyfikacji, liczba stron). Pliki Word dodają liczbę słów, tabel i obrazów.
- pages: jeden wpis na stronę PDF z jej rozmiarem w punktach, obrotem, liczbą słów i tekstem. Pliki Word nie mają stron, bo Word układa strony tylko podczas drukowania.
- blocks: dokument w kolejności czytania. Typy to heading (z poziomem od 1 do 6), paragraph (z opcjonalną nazwą stylu z Word), list (uporządkowana albo nie, z pozycjami mającymi poziom zagnieżdżenia), table (nagłówek plus typowane wiersze), code, blockquote, rule i image.
- tables: dla PDF, każda wykryta tabela ze stroną, na której została znaleziona, i, jeśli tabela się kontynuuje, stroną, na której się kończy. Komórki wyglądające jak liczby są liczbami.
- form_fields: obecne tylko wtedy, gdy PDF ma formularz. Każde pole ma swoją nazwę, typ (text, choice, button albo signature) i aktualną wartość.
- extraction: który konwerter zadziałał, wybrany tryb, czy potrzebny był OCR, oraz wszelkie ostrzeżenia, na przykład tabela, której nie udało się wykryć.
Wersja 1 tego formatu może tylko zyskiwać nowe pola; istniejące pola zachowują swoje nazwy i znaczenie.
Dane tabelaryczne i zagnieżdżenie
CSV i Excel są płaskie, JSON nie jest. Kiedy JSON idzie do CSV albo Excel, zagnieżdżone obiekty są spłaszczane do nazw kolumn z kropką, a tablice do nazw indeksowanych, więc rekord zamówienia z obiektem klienta i tablicą pozycji staje się kolumnami takimi jak customer.name, items[0].sku i items[1].sku. Kiedy CSV albo Excel wraca do JSON, nagłówki zapisane w ten sposób są odbudowywane do zagnieżdżonych obiektów i tablic. Nagłówek ze zwykłą kropką, na przykład numer wersji albo skrót, jest pozostawiany bez zmian.
Wartości są typowane przy wejściu: liczby stają się liczbami, true i false wartościami logicznymi, puste komórki null, a wszystko inne zostaje ciągiem tekstowym. Daty wychodzące z Excel są zapisywane jako ciągi ISO 8601, ponieważ JSON nie ma typu daty. Przełącz opcję typów wartości na tekst, gdy identyfikatory z zerami na początku muszą zostać zapisane dokładnie tak, jak są.
Walidacja i naprawa
Każde narzędzie JSON waliduje swoje wejście w ten sam sposób. Nieprawidłowy plik jest odrzucany z podaniem wiersza i kolumny pierwszego błędu oraz krótkiego fragmentu tej linii. Formater JSON może też naprawić błędy, które ludzie wklejają najczęściej: komentarze, przecinki na końcu, ciągi w apostrofach, klucze bez cytatów, wielkie litery w True, False i None, NaN i Infinity oraz ogrodzenia kodu wokół tekstu. Kiedy naprawa została zastosowana, wynik ci to mówi, więc nic nie zmienia się w tle bez twojej wiedzy.
Prywatność
Wgrane pliki i wklejony tekst są przetwarzane na naszych serwerach i usuwane w ciągu 60 minut; szczegóły znajdziesz w przewodniku o prywatności. Nic nie jest przechowywane dłużej niż ten czas i nic nie jest używane do żadnego innego celu.