Czy zapisuje lub wgrywa mój JSON gdziekolwiek?
Nie. Diff działa w całości w Twojej przeglądarce. Nic nie jest wysyłane na serwer, logowane ani przechowywane. Wklej wewnętrzną odpowiedź API albo politykę IAM i zamknij kartę; nigdzie nie zostanie kopia. Aby zweryfikować, otwórz DevTools, przejdź do zakładki Network i obserwuj — gdy porównujesz, nie ma żadnych żądań wychodzących.
Czy zmiana kolejności kluczy lub pretty-print JSON pokaże się jako zmiana?
Tak, oba się pokazują. Diff tekstowy porównuje znaki linia po linii, więc przeformatowanie, zmiana kolejności kluczy lub zmiany białych znaków pokazują się jako różnice, nawet gdy dane są identyczne. Kliknij przycisk Format na obu panelach, aby najpierw zrobić pretty-print, a diff skupi się na faktycznych zmianach danych. Aby uzyskać w pełni strukturalne porównanie ignorujące kolejność kluczy, posortuj klucze po obu stronach przed porównywaniem.
Czy kolejność kluczy w obiekcie JSON ma znaczenie?
Dla kluczy obiektu nie — specyfikacja JSON mówi, że obiekty są nieuporządkowane, więc {"a":1,"b":2} i {"b":2,"a":1} reprezentują te same dane. Diff znakowy i tak oznaczy zmianę kolejności, dlatego przycisk Format jest ważny. Tablice są inne: [1,2,3] i [3,2,1] nie są równe, ponieważ kolejność tablicy ma znaczenie w JSON.
Dlaczego 0.1 + 0.2 nie równa się 0.3 w moim diffie?
Ze względu na zmiennoprzecinkowe IEEE 754. 0.1 + 0.2 to faktycznie 0.30000000000000004, a JSON.parse czyta liczby jako 64-bitowe floaty. Duże liczby całkowite trafiają na ten sam limit: wszystko powyżej 2^53 - 1 (9007199254740991) traci precyzję, więc snowflake ID w stylu Twittera nie wykona pełnej rundy. Jeśli precyzja ma znaczenie, przechowuj je jako stringi.
Czy mogę wkleić JSON z komentarzami lub przecinkami końcowymi?
Standardowy JSON nie pozwala na żadne z nich. { "a": 1, } lub // komentarz da Ci błąd parsowania. To JSON5 lub JSONC (format, którego VS Code używa dla settings.json), który jest nadzbiorem. Najpierw usuń komentarze i przecinki końcowe. Świadomie podążamy za ścisłą gramatyką RFC 8259, aby diff pasował do tego, co Twoje API faktycznie akceptuje.
Jak duży plik JSON mogę porównać, zanim zacznie zwalniać?
Do kilku MB jest ok, poniżej sekundy. Powyżej 10 MB przeglądarka zaczyna to czuć, głównie dlatego, że to renderowanie diffa (a nie obliczanie go) staje się kosztowne. Dla eksportów 50 MB+ przefiltruj obie strony do interesującego Cię poddrzewa za pomocą jq, a potem wklej to.
Czy to za darmo i czy muszę się rejestrować?
Za darmo tak, rejestracja nie. Nie ma konta, okresu próbnego ani limitu, ile razy porównujesz. Wklej dwa fragmenty JSON, a diff pojawia się od razu. Nic nie jest zablokowane za logowaniem, a przyciski Copy i Download dają Ci czysty wynik, bez znaku wodnego i bez wstrzykniętego formatowania.
Czym to się różni od innych narzędzi JSON diff online?
Porównanie działa w całości w Twojej przeglądarce, więc Twój JSON nigdy nie jest wysyłany — wiele stron JSON diff najpierw przesyła go na serwer, czego nie zrobisz z wewnętrzną odpowiedzią API ani configiem z sekretami. Podświetlanie jest na poziomie znaków, z czyszczeniem semantycznym, a nie całych wierszy, więc pojedyncza zmieniona wartość w obiekcie liczącym 200 wierszy od razu rzuca się w oczy. Jest też Format, Minify i walidacja na żywo.
Czy potrafi porównać dwa pliki JSON zamiast wklejonego tekstu?
Tak. Kliknij Upload w jednym z paneli i wybierz plik .json wprost z dysku — wczytaj swój stary package.json po lewej, a nowy po prawej bez kopiowania i wklejania. Plik jest czytany lokalnie w przeglądarce; nigdy nigdzie nie jest wysyłany. Naciśnij Format po obu stronach, a diff zignoruje białe znaki i pokaże tylko te wiersze zależności, które faktycznie się zmieniły.
Czy mogę porównać więcej niż dwa pliki JSON naraz?
Nie w jednym widoku. Jest zbudowane dla dwóch stron, oryginału i zmiany, bo właśnie tym jest diff. Jeśli masz trzy wersje configu, porównuj je parami — staging kontra prod, potem prod kontra proponowana zmiana. Każda para daje czysty, skupiony wynik zamiast widoku scalania trójstronnego, który ukrywa, który plik wprowadził dany klucz.
Czy bezpiecznie jest wkleić odpowiedź API z tokenami lub kluczami?
Tak. Parsowanie, formatowanie i diff dzieją się w całości na Twoim komputerze, a nic nie jest wysyłane, logowane ani przechowywane. Wklejony JWT, API key czy rekord klienta zostaje w karcie i znika, gdy ją zamkniesz. Aby to potwierdzić, otwórz DevTools, obserwuj kartę Network podczas porównywania, a zobaczysz zero żądań wychodzących z Twoimi danymi.
Czy ChatGPT potrafi porównać dwa pliki JSON?
Potrafi streścić, co się zmieniło między dwoma fragmentami JSON, i do szybkiego "co się tu przesunęło?" jest to naprawdę wygodne. Ale model językowy to nie parser. Może po cichu zmienić kolejność kluczy, przeoczyć wartość ukrytą głęboko w zagnieżdżonym obiekcie albo potknąć się na liczbach całkowitych powyżej 2^53, gdzie precyzja już i tak przepadła. No i wklejasz JSON, tokeny i wszystko inne, do usługi zewnętrznej. Żeby uzyskać dokładne porównanie na poziomie znaków, które nigdy nie opuszcza Twojej przeglądarki, przepuść to najpierw przez to narzędzie, a potem przekaż krótki wynik do ChatGPT i poproś o wyjaśnienie skutków prostym językiem.