JSON Toolkit

Często zadawane pytania

Zbiera najczęściej zadawane pytania dotyczące narzędzi tej witryny oraz specyfikacji JSON, pogrupowane według scenariuszy, z odpowiedzią, którą można od razu zastosować, zamiast ogólnego wniosku.

Liczba artykułów: 25

Artykuły w tej kategorii

FAQ dotyczące użytkowania narzędzi: dane, pliki i eksport

Czy dane są wysyłane, jak duży plik działa, czy coś jest przechowywane lokalnie, dlaczego chiński zamienia się w ucieczki: dziesięć pytań opisujących realne granice narzędzia JSON online.

Początkujący~10 min czytaniaZaktualizowano 2026-10-30

FAQ dotyczące zapytań i walidacji: JSONPath i Schema

Czy zapytania ścieżkowe powinny używać JSONPath czy Pointer, jak wybrać między Patch a Merge Patch, co Schema potrafi zablokować i jak wybrać wersję draftu — wszystko wyjaśnione w jednym przebiegu.

Średniozaawansowany~12 min czytaniaZaktualizowano 2026-10-30

Czy JSON może mieć komentarze

RFC 8259 nie ma składni komentarzy, więc // i komentarze blokowe powodują błąd JSON.parse. Zamiast tego użyj JSON5 lub JSONC, pola _comment, description w Schema albo YAML.

Początkujący~3 min czytaniaZaktualizowano 2026-10-30

Dlaczego przecinek końcowy psuje JSON

Przecinki końcowe są legalne w literałach obiektowych JavaScript i zabójcze w JSON-ie. Oto dokładny błąd, gramatyka RFC 8259, która go powoduje, i trzy poprawki, które naprawdę działają.

Początkujący~3 min czytaniaZaktualizowano 2026-10-30

Czy BOM psuje parsowanie JSON

BOM UTF-8 to trzy niewidoczne bajty, więc JSON.parse zawodzi na pierwszym znaku i zgłasza wiersz 1 kolumnę 1, przez co plik wygląda na pusty lub obcięty.

Początkujący~4 min czytaniaZaktualizowano 2026-10-30

Czy NaN lub Infinity mogą występować w JSON

JSON ma tylko dziesiętne literały liczbowe. JSON.stringify zamienia NaN i Infinity na null bez ostrzeżenia, dlatego „pole liczbowe czasami jest null” wciąż pojawia się w produkcji.

Początkujący~3 min czytaniaZaktualizowano 2026-10-30

Dlaczego duże liczby całkowite tracą precyzję

Liczby całkowite powyżej 2^53-1 tracą precyzję w JSON.parse. Identyfikatory snowflake, numery zamówień i biginty bazodanowe wszystkie na to trafiają, więc trzymaj je jako łańcuchy od początku do końca.

Średniozaawansowany~4 min czytaniaZaktualizowano 2026-11-04

Dlaczego chiński zamienia się w \u4e2d\u6587

Sekwencja ucieczki \u4e2d\u6587 to legalny Unicode, a nie awaria kodowania. Prawdziwy mojibake wygląda inaczej, a rozróżnienie ich decyduje, co naprawdę trzeba naprawić.

Początkujący~3 min czytaniaZaktualizowano 2026-10-30

JSON vs JSON5 vs JSONC

Ścisłe nadzbiory w kolejności: JSONC dodaje komentarze; JSON5 dodaje pojedyncze cudzysłowy, klucze bez cudzysłowów, przecinki końcowe i liczby szesnastkowe. Zły wybór psuje API, a nie edytor.

Początkujący~4 min czytaniaZaktualizowano 2026-10-30

JSON czy YAML

JSON rozdziela nawiasami, a YAML wcięciami: maszyny dostają JSON, ludzie edytujący konfigurację dostają YAML. Komentarze, kotwice i struktura wielu dokumentów nie przetrwają.

Początkujący~4 min czytaniaZaktualizowano 2026-10-30

JSONPath czy JSON Pointer

JSON Pointer to unikalny adres, który można przechowywać jako klucz; JSONPath to język zapytań. Użycie niewłaściwego psuje aktualizacje konfiguracji albo odtwarza zepsuty JSONPath.

Średniozaawansowany~4 min czytaniaZaktualizowano 2026-10-30

Co JSON Schema naprawdę rozwiązuje

Schemat rządzi strukturą i typami, a nie znaczeniem biznesowym. Zatrzymuje brakujące pola, złe typy i wyliczenia poza zakresem, podczas gdy reguły takie jak kwota większa od zera zostają w kodzie.

Średniozaawansowany~4 min czytaniaZaktualizowano 2026-10-30

draft-07 czy 2020-12

2020-12 jest aktualne i dodaje $defs, prefixItems i unevaluatedProperties, ale wiele narzędzi nadal mówi tylko draft-07. Wybierz według tego, co wspiera cały twój łańcuch narzędzi.

Zaawansowany~4 min czytaniaZaktualizowano 2026-10-30

Generowanie typów TypeScript ze schematu

json-schema-to-typescript i quicktype generują .d.ts jedną komendą, ale to szkic: opcjonalność, unie, additionalProperties i daty wymagają ręcznego przejścia.

Średniozaawansowany~4 min czytaniaZaktualizowano 2026-10-30

Przyspieszanie parsowania dużego JSON

Optymalizacja w złej kolejności czyni każdą wymianę biblioteki bezużyteczną. Zmierz osobno sieć, parsowanie i renderowanie, a potem ogranicz parsowania, zmniejsz ładunki i strumieniuj.

Średniozaawansowany~5 min czytaniaZaktualizowano 2026-10-30

Czym jest wstrzyknięcie __proto__

JSON.parse traktuje __proto__ jako zwykły klucz; szkoda powstaje w rekurencyjnym scalaniu, które zapisuje do Object.prototype, więc każdy obiekt dziedziczy właściwości atakującego.

Zaawansowany~5 min czytaniaZaktualizowano 2026-10-30

Jak dochodzi do XSS przez JSON

JSON nigdy nie wykonuje się sam. XSS powstaje w momencie, gdy traktujesz go jak HTML — składanie łańcuchów po stronie serwera, we frontendowy innerHTML albo osadzenie JSON-a prosto w tagu skryptu.

Średniozaawansowany~4 min czytaniaZaktualizowano 2026-10-30

Czy online’owy formater JSON wysyła moje dane

Nie musisz czytać polityki prywatności, aby to ustalić. Otwórz panel sieci, spróbuj strony offline i odśwież, by zobaczyć, czy cokolwiek utrwalono. Dwie minuty, trzy kontrole, zero zaufania.

Początkujący~3 min czytaniaZaktualizowano 2026-10-30

Jak duży plik JSON potrafi obsłużyć przeglądarka

Nie ma stałego limitu; ograniczeniem jest budżet pamięci twojej karty. Plik 20 MB zwykle staje się 60–100 MB po sparsowaniu, a podświetlony DOM może to podwoić.

Początkujący~3 min czytaniaZaktualizowano 2026-10-30

Jaką strukturę powinna mieć odpowiedź API

Nagie obiekty są czyste, dopóki nie potrzebujesz metadanych; pełne koperty są bezpieczne, ale gadatliwe. W większości projektów użyj statusu HTTP dla wyników i stabilnej koperty dla danych.

Średniozaawansowany~4 min czytaniaZaktualizowano 2026-10-30

Jaki format znaczników czasu w JSON

Liczby epoki i łańcuchy ISO mają różne kompromisy, ale to ich mieszanie naprawdę psuje sprawę. Używaj ISO 8601 z przesunięciem, przechowuj UTC, renderuj w strefie czasowej użytkownika.

Początkujący~3 min czytaniaZaktualizowano 2026-10-30

null czy pominięcie pola

`null` mówi, że pole istnieje bez wartości; pominięcie mówi, że pole nie istnieje. Treści PATCH, scalanie konfiguracji i wstępne wypełnianie formularzy to miejsca, w których różnica boli.

Średniozaawansowany~3 min czytaniaZaktualizowano 2026-10-30