Konwerter JSON ⇄ YAML
Działa w całości w Twojej przeglądarce. Twoje pliki i dane nigdy nie opuszczają Twojego urządzenia.
O tym narzędziu
Wklej JSON, żeby otrzymać te same dane w postaci YAML, albo wklej YAML, żeby zamienić go z powrotem na sformatowany JSON. Konwerter parsuje wprowadzone dane, więc wyłapuje też błędy składni i wskazuje ich miejsce. Ciągi znaków, które wyglądają jak inne typy, na przykład "true" albo "3.14", pozostają w cudzysłowie, żeby konwersja w obie strony nie zmieniała danych.
Dlaczego niektóre ciągi zostają w cudzysłowie?
YAML traktuje gołe słowa takie jak true, false, null oraz wszystko, co wygląda jak liczba, jako ich typowane odpowiedniki, a nie jako zwykły tekst. Jeśli w JSON-ie masz wartość tekstową "true" albo "3.14", konwersja do YAML bez cudzysłowów po cichu zamieniłaby ją w wartość logiczną albo liczbę, co zmienia znaczenie danych. To narzędzie zostawia takie wartości w cudzysłowie w wyniku YAML, dzięki czemu wartość, która była tekstem, pozostaje tekstem, a konwersja z powrotem do JSON-a daje dokładnie to, od czego się zaczęło. To drobny szczegół, ale decyduje o tym, czy wartość konfiguracyjna w rodzaju numeru wersji "3.14" zostanie tekstem, czy gdzieś po drodze zamieni się w liczbę zmiennoprzecinkową.
Co się dzieje, gdy w moim YAML-u albo JSON-ie jest błąd?
Obie konwersje parsują wprowadzone dane, zanim je przekształcą, więc brakujący dwukropek, złe wcięcie albo niedomknięty nawias zostaną wychwycone i zgłoszone zamiast po cichu wygenerować bezużyteczny wynik. Błędy wcięcia są jednym z najczęstszych problemów w YAML-u, bo ten format do wyrażania struktury używa białych znaków zamiast nawiasów klamrowych, więc zadaniem parsera jest w dużej mierze konsekwentne odczytanie tych odstępów.
Czy coś opuszcza moją przeglądarkę?
Nie. Konwersja odbywa się w całości po stronie klienta w JavaScript, a nic z tego, co wklejasz, nie jest nigdzie wysyłane. Dzięki temu narzędzie można bezpiecznie stosować do manifestów Kubernetes, definicji pipeline’ów CI albo plików konfiguracyjnych zawierających hasła, nazwy wewnętrznych hostów i inne dane, których wolałbyś nie wysyłać na żaden serwer.
Typowe zastosowania: przepisanie konfiguracji JSON na YAML dla Docker Compose albo GitHub Actions, konwersja specyfikacji OpenAPI między oboma formatami albo spłaszczenie pliku YAML do JSON-a, żeby nakarmić nim narzędzie przyjmujące wyłącznie JSON. Wynik jest zgodny z YAML 1.2, który jest nadzbiorem JSON-a, oraz z RFC 8259 po stronie JSON-a.