Diff i porównanie JSON
Porównaj dwa dokumenty JSON i wyróżnij dodane, usunięte i zmienione ścieżki kluczy.
Diff i porównanie JSON — Wklej dwa dokumenty JSON obok siebie, a to narzędzie wykona porównanie strukturalne, klucz po kluczu, zamiast zwykłego porównania wierszy, dzięki czemu przestawione klucze i spacje nigdy nie tworzą fałszywych zmian. Każda różnica jest zgłaszana według jej dokładnej ścieżki, takiej jak user.name lub items[0], i oznaczana jako dodana, usunięta lub zmieniona. Wszystko jest analizowane i porównywane w całości w Twojej przeglądarce, więc Twoje dane nigdy nie opuszczają urządzenia.
Czym jest Diff i porównanie JSON?
JSON Diff to bezpłatne narzędzie działające w przeglądarce, które znajduje semantyczne różnice między dwiema wartościami JSON. Zamiast porównywać tekst wiersz po wierszu, przechodzi przez oba drzewa i dopasowuje klucze według nazwy, a elementy tablic według indeksu, zgłaszając każdą zmianę za pomocą ścieżki z kropkami, takiej jak config.server.port lub list[2]. Programiści backendu i API używają go, aby dokładnie zobaczyć, co zmieniło się między dwiema odpowiedziami API, plikami konfiguracyjnymi lub danymi testowymi, podczas gdy inżynierowie QA i analitycy danych używają go, aby potwierdzić, że transformacja lub migracja dała oczekiwany wynik. Wybierz styl Symbole, aby odczytywać zmiany jako wiersze + / - / ~, lub styl Słowa, aby oznaczać je jako dodane, usunięte i zmienione. Przycisk Zamień odwraca lewe i prawe dane wejściowe, dzięki czemu możesz zobaczyć różnicę z obu kierunków.
Jak używać Diff i porównanie JSON
- Wklej oryginalny JSON do pola Lewe (oryginał).
- Wklej JSON, z którym chcesz porównać, do pola Prawe (zmienione).
- Odczytaj różnicę w bloku Wynik, gdzie każdy wiersz pokazuje zmienioną ścieżkę i wartość.
- Użyj ustawienia Styl, aby przełączać się między symbolami + / - / ~ a słowami dodane / usunięte / zmienione.
- Kliknij Zamień, aby odwrócić obie strony, lub Kopiuj, aby pobrać pełny raport różnic.
Przykłady
Pojedyncza wartość się zmieniła
Wejście
Lewe: {"name":"Ada","age":30}
Prawe: {"name":"Ada","age":31}Wyjście
~ age: 30 -> 31
Jeden klucz dodany i jeden usunięty
Wejście
Lewe: {"a":1,"b":2}
Prawe: {"a":1,"c":3}Wyjście
- b: 2 + c: 3
Przestawione klucze są identyczne
Wejście
Lewe: {"x":1,"y":2}
Prawe: {"y":2,"x":1}Wyjście
Brak różnic - oba dokumenty są jednakowe.
Najczęściej zadawane pytania
- Czy mój JSON jest wysyłany na serwer?
- Nie. Oba dokumenty są analizowane i porównywane w całości w Twojej przeglądarce za pomocą procedury głębokiego porównania działającej na Twoim urządzeniu. Nic nie jest przesyłane, a narzędzie działa również w trybie offline.
- Czym to się różni od zwykłego porównania tekstu?
- Porównanie tekstu zestawia wiersze, więc ponowne formatowanie lub przestawianie kluczy wygląda jak zmiana. To narzędzie porównuje przeanalizowaną strukturę, dopasowując klucze obiektów według nazwy, a elementy tablic według pozycji, więc zgłaszane są tylko rzeczywiste różnice semantyczne.
- Czy kolejność kluczy ma znaczenie?
- Nie. Dwa obiekty z tymi samymi kluczami i wartościami są traktowane jako równe, niezależnie od kolejności, w jakiej klucze się pojawiają. Elementy tablic są jednak porównywane według indeksu, więc przestawienie tablicy liczy się jako zmiana.
- Co oznacza każdy wiersz?
- Dodane ścieżki istnieją tylko po prawej, usunięte ścieżki tylko po lewej, a zmienione ścieżki mają różne wartości po każdej stronie. W stylu Symbole pojawiają się jako +, - i ~; w stylu Słowa są zapisane słownie.
- Co się stanie, jeśli mój JSON jest nieprawidłowy?
- Jeśli jedna ze stron nie zostanie przeanalizowana, notatka o błędzie wskaże, która strona (lewa lub prawa) jest nieprawidłowa, abyś mógł ją poprawić. Różnica aktualizuje się automatycznie, gdy obie strony zostaną poprawnie przeanalizowane.
Powiązane narzędzia
Kodowanie / dekodowanie Base32 / Base58
Koduj tekst do Base32 (RFC 4648) lub Base58 (alfabet Bitcoina) i dekoduj oba z powrotem do tekstu, w pełni bezpiecznie dla UTF-8 i całkowicie w Twojej przeglądarce.
Kodowanie / dekodowanie Base64
Koduj lub dekoduj Base64 (bezpieczne dla UTF-8) z alfabetem URL-safe, opcjonalnym dopełnieniem, zawijaniem 64/76, licznikiem bajtów i znaków na żywo oraz widokiem bajtów w hex lub binarnie.
Konwerter wielkości liter i licznik
Konwertuj tekst między UPPERCASE, camelCase, PascalCase, snake_case, CONSTANT_CASE, kebab-case, dot.case i innymi oraz licz znaki, słowa i wiersze.
Formater i minifikator kodu
Upiększaj lub minifikuj HTML, CSS i JavaScript bezpośrednio w przeglądarce, z wcięciem 2 spacji, 4 spacji lub tabulacji oraz kompresją JavaScript opartą na Terser.