Narzędzie do porównywania JSON
Porównuj dwa dokumenty JSON po strukturze, nie po tekście: zobacz każdy dodany, usunięty i zmieniony klucz na swojej ścieżce, w całości w przeglądarce.
🔒 Przetwarzane w całości w Twojej przeglądarce — nic, co tu wpiszesz, nie zostanie nigdy przesłane.
Wynik
Wklejenie dwóch dokumentów JSON do zwykłego narzędzia do porównywania tekstu prawie zawsze daje błędny obraz: przeformatowanie, zmiana wcięć lub po prostu serializacja kluczy obiektów w innej kolejności podświetli ogromne fragmenty „zmienionego” tekstu, nawet gdy dane bazowe są identyczne. Porównywanie tekstu porównuje znaki i linie; nie ma pojęcia, że {"a":1,"b":2} i {"b":2,"a":1} znaczą dokładnie to samo.
To narzędzie najpierw parsuje oba wejścia jako JSON, a następnie rekurencyjnie przechodzi obie struktury tak, jak dane są faktycznie ukształtowane: obiekty porównywane są po nazwie klucza, a tablice według pozycji (porównanie tablic oparte na indeksach jest tutaj celowym, prostszym ustawieniem domyślnym — nie ma trybu „traktuj tę tablicę jako nieuporządkowany zbiór indeksowany polem id”). Każda różnica raportowana jest na swojej ścieżce, np. user.address.city, i klasyfikowana jako dodana, usunięta lub zmieniona, ze starą i nową wartością pokazanymi razem, dzięki czemu nigdy nie musisz zgadywać, co się zmieniło.
Niezmienione ścieżki są domyślnie ukryte, aby duży ładunek z jedną małą zmianą nie pogrzebał jej w szumie; przełącznik pozwala je ponownie pokazać, gdy potrzebujesz pełnego obrazu. Opcja „sortuj klucze przed porównaniem” przechodzi i wypisuje klucze obiektów w kanonicznej kolejności alfabetycznej — obiekt JSON nie ma z założenia znaczącej kolejności kluczy, więc dwa obiekty z tymi samymi kluczami i wartościami w innej kolejności to te same dane, a ta opcja czyni to porównanie, a także wynikową listę, jawnym i deterministycznym. To dokładnie to ustawienie, które stoi za presetami sortowania i porównywania odpowiedzi API w tym narzędziu.
Jeśli potrzebujesz klasycznego, sąsiadującego porównania liniowego dla zwykłego tekstu, kodu lub dowolnej treści, która nie jest JSON-em, użyj zamiast tego towarzyszącego narzędzia Text Diff — porównuje ono linia po linii i jest właściwym narzędziem, gdy białe znaki i różnice formatowania rzeczywiście mają znaczenie. To narzędzie jest przeznaczone specjalnie dla JSON-a i, jak każde narzędzie na tej stronie, działa w całości w Twojej przeglądarce: nic, co wkleisz, nigdy nie jest nigdzie przesyłane.