tigtools

Konwerter YAML na JSON

Wklej YAML (manifest Kubernetes, plik CI, specyfikację OpenAPI lub konfigurację) i natychmiast otrzymaj sformatowany JSON. Nic nie jest przesyłane.

Działa w przeglądarce Bez rejestracji

Wcięcie

Konwertuj JSON na YAML

Jak używać

  1. Wklej YAML do pola wejściowego lub wypróbuj przykład.
  2. Wybierz wcięcie o szerokości 2 lub 4 spacji.
  3. Skopiuj JSON lub pobierz go jako plik .json.

Jak to działa

YAML jest parsowany przy użyciu otwartoźródłowej biblioteki yaml z wykorzystaniem schematu podstawowego YAML 1.2, którego oczekują nowoczesne narzędzia: yes, no, on i off pozostają ciągami znaków, a tylko true i false są wartościami logicznymi. Kotwice (&name) i aliasy (*name) są rozwijane, a klucze scalające << są stosowane; liczba rozwinięć aliasów jest ograniczona, więc celowo „eksplodujące” dokumenty są odrzucane zamiast zawieszać stronę.

Plik z kilkoma dokumentami oddzielonymi ciągiem --- staje się tablicą JSON z jednym elementem na dokument. Komentarze, kotwice i znaczniki nie mają odpowiednika w JSON i są pomijane; klucze zachowują swoją kolejność. Znaczniki czasu pozostają ciągami znaków. Liczby całkowite mające więcej niż około 15 cyfr tracą precyzję, jak w każdym JSON obsługiwanym w JavaScripcie.

Jeśli YAML jest nieprawidłowy, wyświetlany jest pierwszy błąd wraz z linią i kolumną, na przykład tabulator użyty do wcięcia lub brakujący nawias zamykający. Do konwersji w drugą stronę użyj konwertera JSON na YAML lub dwukierunkowego konwertera JSON ⇄ YAML.

Przykłady

Plik CI z kotwicami

Lista zadań, która ponownie wykorzystuje blok defaults z <<: *defaults, staje się JSON-em z wartościami defaults skopiowanymi do każdego zadania, dzięki czemu dokładnie widać, co otrzymuje każde zadanie.

Plik Kubernetes z wieloma dokumentami

Plik z zasobami Deployment i Service oddzielonymi przez --- staje się tablicą JSON z dwoma obiektami, gotową do użycia w kubectl lub jq.

Często zadawane pytania

Dlaczego yes pozostaje ciągiem znaków?

YAML 1.2, używany tutaj i przez większość obecnych narzędzi, traktuje tylko true i false jako wartości logiczne. Starsze parsery YAML 1.1 zamieniały yes, no, on i off na wartości logiczne, co powodowało wiele błędów.

Co dzieje się z komentarzami?

JSON nie ma komentarzy, więc są one pomijane. Same dane pozostają niezmienione.

Czy istnieje limit rozmiaru?

Tylko pamięć Twojej przeglądarki. Duże pliki są konwertowane po krótkiej przerwie podczas pisania, dzięki czemu strona pozostaje responsywna.

Prywatność

Konwersja odbywa się w całości w Twojej przeglądarce. Twoje dane YAML i JSON nie są przesyłane ani przechowywane.