Jak porównać dwa pliki JSON
- Wklej oryginalny JSON po lewej stronie, a zmieniony po prawej, albo upuść plik na każdą ze stron.
- Przejrzyj podsumowanie i listę różnic: każda dodana, usunięta lub zmieniona wartość jest pokazana wraz ze ścieżką, np.
$.users[2].email. - Przewiń w dół do widoku obok siebie, aby zobaczyć zmiany w kontekście. Zaznacz Ignoruj kolejność w tablicach, jeśli kolejność elementów listy nie ma znaczenia.
Semantyczny JSON diff zamiast porównania tekstu
Zwykłe porównanie tekstu zgłasza zmianę za każdym razem, gdy klucz zmieni miejsce, wcięcia się różnią albo liczba jest zapisana inaczej. Ten JSON diff porównuje same dane:
- Kolejność kluczy jest ignorowana –
{"a":1,"b":2}jest równe{"b":2,"a":1}. - Formatowanie jest ignorowane – spacje, podziały wierszy i wcięcia nie mają znaczenia.
- Liczby są porównywane według wartości –
1.0jest równe1. - Tablice są wyrównywane – wstawienie jednego elementu nie oznacza wszystkich kolejnych jako zmienionych, a zmodyfikowane obiekty są dopasowywane do najbardziej podobnych odpowiedników.
- Ignoruj kolejność w tablicach – porównuje tablice jako nieuporządkowane zbiory; przydatne przy listach tagów, identyfikatorów lub uprawnień.
Jak czytać wyniki porównania
| Etykieta | Znaczenie | Ścieżka wskazuje |
|---|---|---|
| Dodano | Wartość występuje tylko w zmienionym dokumencie | jej pozycję w zmienionym dokumencie |
| Usunięto | Wartość występuje tylko w oryginalnym dokumencie | jej pozycję w oryginalnym dokumencie |
| Zmieniono | Oba dokumenty mają ten klucz, ale z inną wartością lub typem | jej pozycję w zmienionym dokumencie |
W widoku obok siebie oba dokumenty są formatowane z posortowanymi kluczami, aby pasujące wiersze znajdowały się naprzeciw siebie; długie niezmienione fragmenty są zwijane, chyba że odznaczysz opcję Ukryj niezmienione wiersze.
Najczęściej zadawane pytania
Czy kolejność kluczy ma znaczenie?
Nie. Obiekty JSON z definicji są nieuporządkowane, dlatego porównanie ignoruje kolejność kluczy. Tablice są uporządkowane, chyba że zaznaczysz opcję „Ignoruj kolejność w tablicach”.
Czy mogę porównać duże pliki JSON?
Tak. Porównanie działa w Twojej przeglądarce i wyświetla pierwsze 200 różnic, a przycisk pozwala pokazać wszystkie; widok obok siebie obejmuje do 5000 wierszy.
Jak porównać JSON w kodzie?
W Pythonie równość sprawdzisz za pomocą json.loads(a) == json.loads(b). JavaScript nie ma wbudowanego głębokiego porównania; biblioteki takie jak Lodash oferują _.isEqual(a, b). W wierszu poleceń diff <(jq -S . a.json) <(jq -S . b.json) pokaże różniące się wiersze.
Czy moje dane są gdzieś wysyłane?
Nie. Oba dokumenty są porównywane lokalnie w Twojej przeglądarce i nigdy nie opuszczają Twojego urządzenia.