{ }JSONKit.tools

Porównanie YAML — różnice między dwoma plikami

Porównaj dwa dokumenty YAML według tego, co znaczą, a nie jak zostały napisane. Cudzysłowy, wcięcia, kolejność kluczy i kotwice przestają mieć znaczenie — widać wyłącznie prawdziwe różnice.

Lewy YAML

Prawy YAML

Różnice

–

O tym narzędziu

Dwa pliki YAML mogą wyglądać zupełnie inaczej i zawierać identyczne dane: klucze w innej kolejności, skalary raz w cudzysłowach, raz bez, listę blokową przepisaną w stylu przepływowym. Dlatego porównanie wierszami manifestu albo konfiguracji CI tak często okazuje się bezużyteczne. Ta strona parsuje obie strony i zestawia powstałą strukturę, więc to, co widzisz, jest różnicą w danych. Po drodze znikają komentarze i nazwy kotwic, bo żadne z nich nie przeżywa parsowania.

Jak używać

  1. 1Wklej oba dokumenty YAML do lewego i prawego panelu.
  2. 2Odczytaj wynik jako Obok siebie, Drzewo albo Listę i skacz między zmianami strzałkami.
  3. 3Włącz Tylko zmiany, aby zwinąć wszystko, co zostało bez zmian.

Częste pytania

›Dlaczego porównywać YAML strukturalnie, a nie wiersz po wierszu?

Bo YAML ma wiele sposobów zapisania tych samych danych. Skalary w cudzysłowach albo bez, styl blokowy albo przepływowy, klucz przeniesiony w inne miejsce, zmienione wcięcie — porównanie tekstowe maluje to wszystko jako zmianę. Wcześniejsze sparsowanie oznacza, że zgłaszane są wyłącznie prawdziwe różnice.

›Czy komentarze są porównywane?

Nie. Komentarze nie są danymi i nie przeżywają parsowania, więc edycja jednego nie daje różnicy. Jeśli musisz przejrzeć komentarze, użyj obok tego porównania tekstowego.

›A co z kotwicami i aliasami?

Są rozwijane przed porównaniem, więc wartość zapisana raz i przywołana dwa razy porównywana jest jako wartość, do której się rozwija. Dlatego zmiana samej nazwy kotwicy nie pokazuje niczego.

›Czy mogę porównać plik YAML z plikiem JSON?

Przekonwertuj stronę JSON-ową stroną JSON na YAML i wklej oba tutaj — albo odwrotnie i porównaj na stronie porównania JSON. Pod spodem to to samo porównanie.

›Czy przyda się przy manifestach Kubernetes?

To typowy przypadek. Zestawienie wyrenderowanego manifestu z tym działającym w klastrze to dokładnie ta sytuacja, w której szum kolejności kluczy i cudzysłowów czyni porównanie tekstowe bezużytecznym.